Windows Mobile引路蜂地图开发示例:选择地图服务

引路蜂地图服务缺省使用Google地图服务,但你也可以选择其它地图服务,比方说当Google服务离线时,您可以选择MapAbc的地图服务,另外要注意的是中国地图是有偏移的。如果想使用无偏移的中国地图,一是采用地图偏移校正算法,另外一个是使用CloudMade地图服务。
所前所述,引路蜂地图开发包在设计时将地图图片显示和地图服务两部分设计成相对独立的两部分,Google中国地图图片,Bing中国地图图片,MapAbc中国地图图片是有偏移的地图图片,CloudMade(OpenStreet)中国地图图片是无偏移的。而Google中国地图服务,MapAbc中国地图服务是有偏移,CloudMade地图服务是无偏移的。所以在选择地图类型和地图服务类型时,要么都选择有偏移,要么都选择无偏移。否则地图在显示路径时或地址时就不匹配。

下面列表是合法的组合:

地图类型 (MapType) 地图服务类型 (DigitalMapService)
GOOGLECHINAGOOGLE_MAP_SERVICE
MICROSOFTCHINAGOOGLE_MAP_SERVICE
MAPABCCHINAGOOGLE_MAP_SERVICE
OPENSTREETMAPCLOUDMADE_MAP_SERVICE
GOOGLECHINAMAPABC_MAP_SERVICE
MICROSOFTCHINAMAPABC_MAP_SERVICE
MAPABCCHINAMAPABC_MAP_SERVICE

下述示列地图类型使用MICROSOFTCHINA,而使用不同的地图服务时路径查询的情况。(南京到天津的路径) 。

private void GetDirection() 
{ 
 GeoLatLng latLng1 = new GeoLatLng(32.0418381, 118.7788905); 
 GeoLatLng latLng2 = new GeoLatLng(39.11643, 117.180908); 
 _rasterMap.GetDirections(new GeoLatLng[] { latLng1, latLng2 }); 
} 
  
private void mnuServiceType_Google_Click(object sender, EventArgs e) 
{ 
 _rasterMap.SetCurrentMapService(DigitalMapService.GoogleMapService); 
 _rasterMap.SetRoutingListener(this); 
 GetDirection(); 
} 
  
private void mnuServiceType_MapAbc_Click(object sender, EventArgs e) 
{ 
 _rasterMap.SetCurrentMapService(DigitalMapService.MapabcMapService); 
 _rasterMap.SetRoutingListener(this); 
 GetDirection(); 
} 
  
private void mnuServiceType_CloudMade_Click(object sender, EventArgs e) 
{ 
 _rasterMap.SetCurrentMapService(DigitalMapService.CloudmadeMapService); 
 _rasterMap.SetRoutingListener(this); 
 GetDirection(); 
}



上图分别为三种地图服务返回的路径,Google 地图服务和MapAbc地图服务返回的结果基本相同,实际上Google 地图服务在中国的地图是来自于MapAbc。而CloudMade地图返回的结果似乎偏移了道路。这是因为Bing 中国地图是被偏移过的,而CloudMade返回的无偏移的结果。Google 地图服务和MapAbc地图服务返回的结果也是偏移过的,所以和偏移过的地图很“匹配”。

 

  1. 离线地图下载方法解析
  2. 自定义地图示例:天地图(一)
  3. 自定义地图示例:天地图(二)
  4. Windows Mobile引路蜂地图开发包Ver2.1下载

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值