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

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 00:58 点击:

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

下面列表是合法的组合:

地图类型 (MapType)  地图服务类型 (DigitalMapService)
GOOGLECHINA GOOGLE_MAP_SERVICE
MICROSOFTCHINA GOOGLE_MAP_SERVICE
MAPABCCHINA GOOGLE_MAP_SERVICE
OPENSTREETMAP CLOUDMADE_MAP_SERVICE
GOOGLECHINA MAPABC_MAP_SERVICE
MICROSOFTCHINA MAPABC_MAP_SERVICE
MAPABCCHINA MAPABC_MAP_SERVICE

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

[java] 
//--------------------------------- PACKAGE ------------------------------------  
package com.pstreets.gisengine.demo.lwuit; 
  
//--------------------------------- IMPORTS ------------------------------------  
  
import com.mapdigit.gis.MapDirection; 
import com.mapdigit.gis.geometry.GeoLatLng; 
import com.mapdigit.gis.raster.MapType; 
import com.mapdigit.gis.service.DigitalMapService; 
import com.mapdigit.gis.service.IRoutingListener; 
import com.pstreets.gisengine.demo.MapDemoLWUIT; 
import com.sun.lwuit.Command; 
import com.sun.lwuit.events.ActionEvent; 
  
public class MapServiceTypeLWUIT extends MapDemoLWUIT 
        implements IRoutingListener{ 
  
    private Command mapGetDirectionCommand; 
  
    public void startApp() { 
        init(); 
        canvas.setTitle("Map Service Type"); 
         
        map.setCurrentMapService(DigitalMapService.GOOGLE_MAP_SERVICE); 
        //map.setCurrentMapService(DigitalMapService.MAPABC_MAP_SERVICE);  
        //map.setCurrentMapService(DigitalMapService.CLOUDMADE_MAP_SERVICE);  
        mapGetDirectionCommand=new Command("Get Direction"){ 
            public void actionPerformed(ActionEvent evt) { 
               GeoLatLng latLng1=new GeoLatLng(32.0418381,118.7788905); 
               GeoLatLng latLng2=new GeoLatLng(39.11643,117.180908); 
               map.getDirections(new GeoLatLng[]{latLng1,latLng2}); 
  
            } 
        }; 
        canvas.addCommand(mapGetDirectionCommand); 
        GeoLatLng center =  new GeoLatLng(32.0616667, 118.7777778); 
        map.setCenter(center, 13, MapType.MICROSOFTCHINA); 
        map.setRoutingListener(this); 
   

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • cocos2d-x学习笔记(19)--label 、label atlas
    • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
    • Cocos2d-x学习(一):HelloWorld
    • cocos2dx在xcode下开发,编译到android上(2)
    • cocos2d 设置屏幕默认方向
    • Cocos2d-x 2.0 之 Actions “三板斧” 之一
    • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
    • cocos2d-x学习笔记(18)--游戏打包(windows平台)
    • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1