恭贺FGMap又新增加一种地图类型--QQ地图!
我想Google Ditu、MapABC、QQ应该使用相同的数据来源,大家可以看这几个地图下面的数据来源,只是每种地图存储的路径不一样而以,而这几种都存在着相似之处,所以获取他们的地图类型源并不复杂。稍做改动即可完成。
FGMap已经装QQ地图集成进来了,需要的使用的,只需重新下载FGMap的库文件,替换原来的库文件即可。
库文件下载地址是:http://files.cnblogs.com/liongis/FGMapLib.rar
下面是现在的效果图:
源代码:


1
<?
xml version
=
"
1.0
"
encoding
=
"
utf-8
"
?>
2 < s:Application xmlns:fx = " http://ns.adobe.com/mxml/2009 "
3 xmlns:s = " library://ns.adobe.com/flex/spark "
4 xmlns:mx = " library://ns.adobe.com/flex/mx " minWidth = " 800 " minHeight = " 600 "
5 xmlns:maps = " com.fgmap.maps.* " >
6 < s:layout >
7 < s:BasicLayout />
8 </ s:layout >
9 < fx:Script >
10 <! [CDATA[
11 import com.fgmap.maps. * ;
12 import com.fgmap.maps.MapMouseEvent;
13 import com.fgmap.maps.controls.MapTypeControl;
14 import com.fgmap.maps.controls.NavigationControl;
15 import com.fgmap.maps.controls.OverviewMapControl;
16 import com.fgmap.maps.controls.ScaleControl;
17 import com.fgmap.maps.interfaces.IMapType;
18 import com.fgmap.maps.overlays. * ;
19
20 private var marker:Marker;
21
22 private var centreLatlng:LatLng = new LatLng( 39.911842984749946 , 116.400146484375 ); // 北京的一个坐标位置。
23
24 protected function map_mapevent_mapreadyHandler(event:MapEvent): void
25 {
26 map.enableContinuousZoom(); // 启用连续平滑缩放。
27 map.enableScrollWheelZoom(); // 启用使用鼠标滚轮缩放。
28 map.addControl( new MapTypeControl()); // 供用户在地图类型之间进行切换的按钮。
29 map.addControl( new NavigationControl()); // 供用户更改地图的各项导航参数,包括缩放级别、中心位置和空间方位角。
30 map.addControl( new ScaleControl()); // 比例控件是用于指示当前地图的分辨率和缩放级别的可视指示器。
31
32 map.setCenter(centreLatlng, 11 ); // 设置地图的中心点。
33
34 AddMarker();
35 }
36
37 private function AddMarker(): void {
38 var markerOptions:MarkerOptions = new MarkerOptions();
39 markerOptions.draggable = true ; // 设置标注可以拖动
40
41 // 定义一个标注
42 var marker:Marker = new Marker(map.getCenter(),markerOptions);
43
44 var infoOptions:InfoWindowOptions = new InfoWindowOptions();
45 infoOptions.title = " 我的坐标是 " ;
46 infoOptions.content = marker.getLatLng().toString();
47 // 标注拖动时关闭提示框
48 marker.addEventListener(MapMouseEvent.DRAG_START,function(e:Event): void {
49 marker.closeInfoWindow();
50 });
51 // 拖动接受时显示提示框
52 marker.addEventListener(MapMouseEvent.DRAG_END,function(e:Event): void {
53 marker.openInfoWindow(infoOptions);
54 });
55 // 点击标注时显示提示框
56 marker.addEventListener(MapMouseEvent.CLICK, function(e:Event): void {
57 marker.openInfoWindow(infoOptions);
58 });
59
60 map.addOverlay(marker); // 在地图上显示这个标注
61 marker.openInfoWindow(infoOptions); // 打开对话框
62 }
63
64 ]] >
65 </ fx:Script >
66 < fx:Declarations >
67 <!-- 将非可视元素(例如服务、值对象)放在此处 -->
68 </ fx:Declarations >
69 < s:Panel width = " 100% " height = " 100% " title = " FGMap API DEMO " >
70 < maps:Map id = " map " width = " 100% " height = " 100% " mapevent_mapready = " map_mapevent_mapreadyHandler(event) " />
71 </ s:Panel >
72 </ s:Application >
2 < s:Application xmlns:fx = " http://ns.adobe.com/mxml/2009 "
3 xmlns:s = " library://ns.adobe.com/flex/spark "
4 xmlns:mx = " library://ns.adobe.com/flex/mx " minWidth = " 800 " minHeight = " 600 "
5 xmlns:maps = " com.fgmap.maps.* " >
6 < s:layout >
7 < s:BasicLayout />
8 </ s:layout >
9 < fx:Script >
10 <! [CDATA[
11 import com.fgmap.maps. * ;
12 import com.fgmap.maps.MapMouseEvent;
13 import com.fgmap.maps.controls.MapTypeControl;
14 import com.fgmap.maps.controls.NavigationControl;
15 import com.fgmap.maps.controls.OverviewMapControl;
16 import com.fgmap.maps.controls.ScaleControl;
17 import com.fgmap.maps.interfaces.IMapType;
18 import com.fgmap.maps.overlays. * ;
19
20 private var marker:Marker;
21
22 private var centreLatlng:LatLng = new LatLng( 39.911842984749946 , 116.400146484375 ); // 北京的一个坐标位置。
23
24 protected function map_mapevent_mapreadyHandler(event:MapEvent): void
25 {
26 map.enableContinuousZoom(); // 启用连续平滑缩放。
27 map.enableScrollWheelZoom(); // 启用使用鼠标滚轮缩放。
28 map.addControl( new MapTypeControl()); // 供用户在地图类型之间进行切换的按钮。
29 map.addControl( new NavigationControl()); // 供用户更改地图的各项导航参数,包括缩放级别、中心位置和空间方位角。
30 map.addControl( new ScaleControl()); // 比例控件是用于指示当前地图的分辨率和缩放级别的可视指示器。
31
32 map.setCenter(centreLatlng, 11 ); // 设置地图的中心点。
33
34 AddMarker();
35 }
36
37 private function AddMarker(): void {
38 var markerOptions:MarkerOptions = new MarkerOptions();
39 markerOptions.draggable = true ; // 设置标注可以拖动
40
41 // 定义一个标注
42 var marker:Marker = new Marker(map.getCenter(),markerOptions);
43
44 var infoOptions:InfoWindowOptions = new InfoWindowOptions();
45 infoOptions.title = " 我的坐标是 " ;
46 infoOptions.content = marker.getLatLng().toString();
47 // 标注拖动时关闭提示框
48 marker.addEventListener(MapMouseEvent.DRAG_START,function(e:Event): void {
49 marker.closeInfoWindow();
50 });
51 // 拖动接受时显示提示框
52 marker.addEventListener(MapMouseEvent.DRAG_END,function(e:Event): void {
53 marker.openInfoWindow(infoOptions);
54 });
55 // 点击标注时显示提示框
56 marker.addEventListener(MapMouseEvent.CLICK, function(e:Event): void {
57 marker.openInfoWindow(infoOptions);
58 });
59
60 map.addOverlay(marker); // 在地图上显示这个标注
61 marker.openInfoWindow(infoOptions); // 打开对话框
62 }
63
64 ]] >
65 </ fx:Script >
66 < fx:Declarations >
67 <!-- 将非可视元素(例如服务、值对象)放在此处 -->
68 </ fx:Declarations >
69 < s:Panel width = " 100% " height = " 100% " title = " FGMap API DEMO " >
70 < maps:Map id = " map " width = " 100% " height = " 100% " mapevent_mapready = " map_mapevent_mapreadyHandler(event) " />
71 </ s:Panel >
72 </ s:Application >
下载地址是: