`
mapdigit
  • 浏览: 262210 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

引路蜂地图服务缺省使用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,而使用不同的地图服务时路径查询的情况。(南京到天津的路径)

//--------------------------------- 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);
        canvas.show();
    }
 
    public void done(String query, MapDirection result) {
        if(result!=null){
            map.setMapDirection(result);
            map.resize(result.getBound());
            map.setZoom(3);
        }
    }
}


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

LWUIT 引路蜂地图开发包Ver2.1下载


分享到:
评论

相关推荐

    j2me lwuit 1.4 源码+示例

    《深入解析J2ME LWUIT 1.4:源码与实战示例》 J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能家电等。LWUIT(Lightweight User Interface Toolkit)是J2ME中的一...

    Hello LWUIT——LWUIT开发指南1

    《Hello LWUIT——LWUID开发指南1》 本文主要探讨的是LWUIT( Lightweight User Interface Toolkit )的开发技术,LWUIT是Java ME平台上的一款轻量级用户界面库,用于创建美观、功能丰富的移动应用程序。LWUIT提供...

    最新LWUIT_1_5

    LWUIT( Lightweight UI Toolkit )是Java ME(J2ME)平台上的一种用户界面库,专为移动设备...对于想要深入学习LWUIT的开发者来说,这是一个宝贵的资源,可以通过阅读API文档、示例代码和教程来掌握这个强大的工具。

    Hello LWUIT——LWUIT开发指南3

    《Hello LWUIT——LWUIT开发指南3》这篇文章主要探讨了 Lightweight User Interface Toolkit(简称LWUIT)的使用,这是一款由Sun Microsystems开发的开源Java库,主要用于构建跨平台的移动设备用户界面。LWUIT的目标...

    LWUIT 开发手册

    LWUIT 开发手册LWUIT 开发手册LWUIT 开发手册LWUIT 开发手册LWUIT 开发手册LWUIT 开发手册

    lwuit Developer_Guide

    本篇文章主要围绕`lwuit`这一轻量级用户界面工具包(Lightweight UI Toolkit)进行展开,详细介绍了其在移动设备上的应用开发过程,特别是针对MIDP(Mobile Information Device Profile)环境下的开发流程与实践。...

    lwuit.rar_LWUIT_java 项目_手机动态

    这个名为“lwuit.rar_LWUIT_java 项目_手机动态”的压缩包显然包含了使用LWUIT进行手机应用开发的相关资源。 1. **LWUIT介绍**: - LWUIT 是Sun Microsystems(现已被Oracle收购)开发的,旨在提高Java ME应用的...

    Lwuit入门程序测试一下Demo

    **LWUIT(Lightweight User Interface Toolkit)**是Java ME平台上的一个开源用户界面库,主要用于创建具有丰富...同时,"LocationDemo1"的应用场景可以作为实际开发中的参考,帮助理解如何将LWUIT与位置服务结合使用。

    lwuit 开发文档

    LWUIT(Lightweight UI Toolkit)是为移动设备提供的一个轻量级用户界面工具包,广泛应用于Java ME(Java Platform, Micro Edition)开发中。LWUIT开发文档是指导开发者如何利用LWUIT进行应用程序开发的官方指南或...

    Hello LWUIT——LWUIT开发指南2

    《Hello LWUIT——LWUIT开发指南2》 LWUIT(Lightweight User Interface Toolkit)是Java ME平台上的一个开源用户界面库,它为开发者提供了丰富的UI组件和强大的设计工具,使得在移动设备上创建美观、交互性强的...

    LWUIT1.4源码 不是开发包哦

    LWUIT( Lightweight UI Toolkit )是...总之,通过深入研究LWUIT 1.4的源码,开发者不仅能了解UI设计的最佳实践,还能掌握Java ME平台上UI开发的底层知识,提升自身技能,对于进行高效、美观的移动应用开发大有裨益。

    j2me ui lwuit 1.3

    5. **事件处理**:LWUIT 提供了简洁的事件处理机制,开发者可以通过添加监听器来响应用户的交互操作,如点击按钮、选择列表项等。 6. **国际化与本地化**:LWUIT 支持多语言环境,开发者可以轻松地为应用添加不同...

    JAVA ME富客户端开发-LWUIT开发文档

    【JAVA ME富客户端开发-LWUIT开发文档】 LWUIT(Lightweight User Interface Toolkit)是针对JAVA ME平台设计的一个轻量级用户界面开发框架。它由SUN公司在2008年5月发布,旨在解决JAVA ME环境中界面设计的复杂性...

    LWUIT

    在“LWUIT_20080714”这个压缩包中,可能包含了LWUIT库的源码、文档、示例代码等资源。开发者可以通过学习这些示例,了解如何在实际项目中应用LWUIT,快速上手UI设计。通过实践这些案例,可以深入理解LWUIT的工作...

    J2ME+UI框架LWUIT开发手册

    **J2ME+UI框架LWUIT开发手册** 在移动设备技术发展早期,Java 2 Micro Edition(J2ME)是开发嵌入式系统和移动设备应用的主要平台。其中, Lightweight User Interface Toolkit(LWUIT)是Oracle公司推出的一个开源...

    LWUIT 开发文档

    根据给定的"LWUIT开发文档"及其描述和部分内文,我们可以提炼出关于LWUIT(Lightweight UI Toolkit)的多个关键知识点。LWUIT是Sun Microsystems在2008年发布的一款轻量级用户界面工具包,主要用于Java ME平台上的...

    lwuit实例 lwuit j2me 界面

    描述中提到的“最新开源 j2me 资源代码”可能是指包含LWUIT库的最新版本或者是一些开发者社区共享的示例代码库,这些资源有助于开发者理解和学习如何在Eclipse这样的集成开发环境中使用LWUIT。Eclipse是一个广泛使用...

Global site tag (gtag.js) - Google Analytics