我正在开发一个需要我使用谷歌地图的Flash项目。我阅读了一篇文章,指出“截至2011年9月2日,Google Maps API for Flash已正式被弃用”。我的问题是,是否有可能将谷歌地图JavaScript版本嵌入到Flash项目中?我的另一个问题是,有没有人知道我可以使用Flash提供与谷歌地图相同的质量的任何地图绘制工具,并且仍然受到支持?谢谢。将谷歌地图嵌入到Flash中
回答
我有同样的需求,也找不到一个良好的现成解决方案,所以我编写并评论了一个测试库,下面可以作为任何类似项目的基础。
我不是依靠单一提供商,而是通过Bing Maps V7,Google Maps V3和MapQuest Maps V7 JavaScript地图在Flash中实现相同的功能。该代码创建线条,动态标记和阴影等,并调用其高程apis。示例应用程序在一个html页面中创建每个地图类型的两个。
要做到这一点,你需要让Flash和JavaScript通过注册函数来调用数据和/或闭包,这些函数具有该项目的唯一名称。
首先每个映射具有一个独特的azazaz和每个地图MXML组件注册一组具有自己的独特的azazaz(例如fname_mapId)外部的方法,然后用一个参数化的SRC HTML用于使三种地图类型的一个产生一个Flex-的iFrame mapId,应用程序名称,开始位置等。
HTML读取这些参数,并通过应用程序名称从父框架获取SWF对象。它创建一个映射并向映射注册侦听器,并使用它的mapId(例如fname_mapId)将回调函数添加到父框架中,该映射允许创建标记和行,每个标记和行都具有唯一的id,并且再次向父框架注册函数还要在其名称中包含标记或行ID(例如fname_mapId_ [lineId | markerId]),以允许设置图标,阴影,线条颜色及其位置更改或删除。
HTML也通过mapId注册函数来检查一般位置或路径的高程。这些调用ajax或例程来请求提升,回调到JavaScript,然后返回到AS3注册的函数。
-C
逻辑测试行动&回调 - 旨在检验所有实现的功能:
Double click on map:
Create pin:
- Set to default name
- Add to map
- Set icon and shadow (note Bing does not take shadows; Google can take a marker mask for clicking - not implemented)
- Call to map for elevation
Remove previous marker
Log current markers (should be only 1)
Create black line from start to pin:
- Change line color to blue
- Call to map for path elevation
Remove previous line
Log current lines (should be only 1)
Drag marker:
Start:
- only logs it was called
Drag:
- only logs it was called
End:
- Move line to new lat lng
- Set line color to orange
- Sets map to not accept double clicks
Double click marker:
- Sets map to accept double clicks again (so after you drag you need to double click a marker to have map accept double clicks again)
Elevation callback:
- Changes pin name to include elevation in name
- Sets new icon and shadow for marker
Elevation path callback - set to 300m & 500m - is balloon at 500m on path going to hit? - error if elevation of path >=500, warn if >=300
- Sets line color if path max elevation as sampled is:
Purple: elevation request error flag set
Red: at or above error level
Red-Yellow: at or above warning but requested distance not met
Yellow: at or above warning level
Yellow-Green: below warning level but requested distance not met
Green: below warning level
后的代码的其余部分是太漫长了太多的联系,以便我不得不把这一切放在这里 - 复制到直接的文本编辑器 - 代码都格式良好的空格:http://pastebin.com/Jzq5E06F
- 1. angular2嵌入谷歌地图
- 2. 嵌入谷歌地图
- 3. 谷歌地图Flash API:InfoWindow Letterspacing
- 4. 嵌入谷歌地图地址
- 5. 嵌入特定层到我的谷歌地图一个谷歌地图
- 6. 定制嵌入iframe的谷歌地图
- 7. IE9嵌入谷歌地图崩溃
- 8. 嵌入谷歌地图在IE
- 9. 嵌入谷歌地图不工作
- 10. 嵌入谷歌地图,删除点
- 11. 嵌入谷歌地图在WPF控制
- 12. 灰色嵌入谷歌地图
- 13. Vaadin 7嵌入谷歌地图
- 14. 如何嵌入谷歌地图?
- 15. 嵌入谷歌地图网站
- 16. 谷歌地图嵌入不缩放
- 17. 谷歌地图(自定义)+嵌入
- 18. 未显示谷歌嵌入式地图
- 19. 如何嵌入经典谷歌地图?
- 20. 谷歌地图嵌入错误
- 21. 将谷歌“我的地图”嵌入Google网站,但未找到地图
- 22. 如何嵌入谷歌代码到谷歌地球气球
- 23. 谷歌地图嵌入网站加载谷歌页面,而不是地图
- 24. 嵌入谷歌地图 - “查看谷歌地图”链接上破移动
- 25. 谷歌嵌入式图表
- 26. 将谷歌地图集成到rails中
- 27. 将嵌入式地图(谷歌地图)的中心设置为特定位置
- 28. 将Flash嵌入到Flash AS3中
- 29. 谷歌地图(flash) - 选择国家
- 30. 谷歌地图(flash) - 使用MapTypeStyle
不推荐使用并不意味着它不再工作;) – MarcinWolny
是的,但意味着它将不会在将来得到支持或改进。我需要找到一种方法来使javascript和actionscript通信。 – Donny
您的项目必须在浏览器/ Flash Player中运行吗?如果没有,您可以制作AIR Flash项目并使用[StageWebView](http://www.adobe.com/devnet/air/quick_start_as/quickstarts/qs_using_stage_web_view.html) –