使用BlackBerry JDE 6.0.0创建一个新的Workspace, RIMGISEngineTutorial. 首先添加一个新的Lib项目libGISEngine, 在其中添加引路蜂开发库。然后添加HelloWorldRIM Blackberry应用,将libGISEngine设为项目HelloWorldRIM的依赖库(Project Dependencies).
同样为简单起见,设计一个共用类MapDemoRIM作为后续例子的基类。
//--------------------------------- PACKAGE ------------------------------------
package com.pstreets.gisengine.demo;
//--------------------------------- IMPORTS ------------------------------------
import com.mapdigit.gis.MapLayer;
import com.mapdigit.gis.drawing.IGraphics;
import com.mapdigit.gis.drawing.IImage;
import com.mapdigit.gis.raster.IMapDrawingListener;
import com.mapdigit.gis.raster.IReaderListener;
import com.mapdigit.gis.raster.MapTileDownloadManager;
import com.mapdigit.gis.raster.RasterMap;
import com.mapdigit.licence.LicenceManager;
import com.pstreets.gisengine.demo.rim.drawing.RIMGraphicsFactory;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.system.Bitmap;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.system.Display;
import net.rim.device.api.ui.component.Menu;
import net.rim.device.api.ui.TouchEvent;
//[------------------------------ MAIN CLASS ----------------------------------]
/**
* Base class for all Map Demos.
* <hr><b>© Copyright 2011 Guidebee, Inc. All Rights Reserved.</b>
* @version 1.00, 06/02/11
* @author Guidebee Pty Ltd.
*/
public abstract class MapDemoRIM extends UiApplication implements IReaderListener,
IMapDrawingListener {
protected RasterMap map;
protected MapTileDownloadManager mapTileDownloadManager;
protected IImage mapImage;
protected IGraphics mapGraphics;
protected MapCanvas canvas;
public MapDemoRIM() {
try {
LicenceManager licenceManager = LicenceManager.getInstance();
//expires on Tue Mar 15 20:54:42 CST 2011
long keys[] = {0x34ba283b8daeb659L, -0x53c811f9da86e998L,
-0x34ba25c3c581521eL, 0xf15df9fc7e45628L, 0x6a4ece44296c0287L,
0x4ab0cff532902b1cL,};
licenceManager.addLicence("GuidebeeMap_JavaME", keys);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void init() {
canvas = new MapCanvas();
//set the graphics factory
MapLayer.setAbstractGraphicsFactory(RIMGraphicsFactory.getInstance());
mapImage = MapLayer.getAbstractGraphicsFactory()
.createImage(Display.getWidth(),
Display.getHeight());
mapGraphics = mapImage.getGraphics();
//Create the Digital Map objects.
mapTileDownloadManager = new MapTileDownloadManager(this);
try{
map = new RasterMap(1024, 1024, mapTileDownloadManager);
}catch(Exception e){}
map.setScreenSize(Display.getWidth(),
Display.getHeight());
mapTileDownloadManager.start();
map.setMapDrawingListener(this);
}
protected void createMenu(Menu menu, int instance){
}
public void closeApp() {
mapTileDownloadManager.stop();
}
public void readProgress(int arg0, int arg1) {
System.out.println(arg0 + "/" + arg1);
}
public void done() {
if (canvas != null) {
canvas.invalidate();
}
}
protected class MapCanvas extends MainScreen {
private void panMap(float x, float y) {
float dx = x - oldX;
float dy = y - oldY;
if(!(dx==0 && dy==0))
map.panDirection((int)dx, (int)dy);
}
boolean isPan=false;
private float oldX = -1;
private float oldY = -1;
protected void paint(Graphics g) {
map.paint(mapGraphics);
Bitmap bitmap=(Bitmap) mapImage.getNativeImage();
g.drawBitmap(0,0,bitmap.getWidth(),bitmap.getHeight(),bitmap,0,0);
}
public void close(){
closeApp();
}
protected boolean touchEvent(TouchEvent event){
int action=event.getEvent();
switch(action){
case TouchEvent.DOWN:
oldX = event.getGlobalX(1);
oldY = event.getGlobalY(1);
isPan=true;
break;
case TouchEvent.UP:
oldX = event.getGlobalX(1);
oldY = event.getGlobalY(1);
isPan=false;
break;
case TouchEvent.MOVE :
if(isPan)
{
panMap(event.getGlobalX(1), event.getGlobalY(1));
oldX = event.getGlobalX(1);
oldY = event.getGlobalY(1);
}
break;
}
return true;
}
protected void makeMenu(Menu menu, int instance){
createMenu(menu,instance);
}
}
}
类MapDemoRIM派生于UiApplication,为Blackberry应用对象。MapCanvas派生于MainScreen,用于显示地图,并响应TouchEvent,可以平移地图。
有了这个基类,HelloWorldRIM就比较简单,下面的例子显示南京地图,缩放级别为13级,地图类型为Bing中国地图。
//--------------------------------- PACKAGE ------------------------------------
package com.pstreets.gisengine.demo.rim;
//--------------------------------- IMPORTS ------------------------------------
import com.mapdigit.gis.geometry.GeoLatLng;
import com.mapdigit.gis.raster.MapType;
import com.pstreets.gisengine.demo.MapDemoRIM;
//[------------------------------ MAIN CLASS ----------------------------------]
/**
* Hello world demo for Guidebee Map API on RIM platform.
* <hr><b>© Copyright 2011 Guidebee, Inc. All Rights Reserved.</b>
* @version 1.00, 06/02/11
* @author Guidebee Pty Ltd.
*/
public class HelloWorldRIM extends MapDemoRIM {
/**
* Entry point for application
* @param args Command line arguments (not used)
*/
public static void main(String[] args)
{
// Create a new instance of the application and make the currently
// running thread the application's event dispatch thread.
HelloWorldRIM theApp = new HelloWorldRIM();
theApp.enterEventDispatcher();
}
public HelloWorldRIM() {
init();
pushScreen(canvas);
GeoLatLng center = new GeoLatLng(32.0616667, 118.7777778);
map.setCenter(center, 13, MapType.MICROSOFTCHINA);
}
}
Blackberry引路蜂地图开发包Ver2.1下载
分享到:
相关推荐
引路蜂地图开发包2.0 包含了 开发库 JavaDoc 示例代码 详细请参见 http://blog.csdn.net/guidebee/archive/2010/09/19/5895245.aspx
1.解压BaiduInput_blackberry_v1.0.0.7.zip文件,用黑莓桌面管理器加载baiduinput.alx,在安装时务必把默认的四个选项都打上勾。 2.安装完毕后会在出现一个百度记事本和一个百度输入法图标。 3.百度记事本是用在第三...
使用于黑莓手机地图黑莓GPRS地图黑莓GPRS地图黑莓GPRS地图
它提供了你所需要编译的BlackBerry(黑莓)应用软件的所有工具。然后,你需要安装BlackBerry(黑莓) Java Development Environment (currently version 3.7)。使用“完整”这个安装选项可以安装整个文档、代码样例...
本文介绍了如何利用Java API进行黑莓应用程序的开发。对于想入门黑莓应用程序开发的新手比较合适。 注:文档为PDF幻灯片格式,英文文档。 英文名称:Developing Blackberry Applications Using Java API's
因此,目前开发商可以只 编写一次应用程序,然后在7个主要的移动平台和应用程序商店(app store)里进行发布,这些移动平台和应用程序商店包括:iOS、Android、BlackBerry、webOS、bada、Winodws Phone以及Symbian。...
《HTML5移动应用开发入门经典》总共分为24章,以示例的方式对如何使用HTML5及相关技术进行移动应用开发做了全面而细致的介绍。《HTML5移动应用开发入门经典》首先讲解了HTML5的起源以及它为什么适用于移动设备,然后...
MDS用于快速企业级程序的无缝整合开发,现属于“Rapid Application Development”一部分。 文档名:BlackBerry_MDS_Studio_V4.1_Features_Technical_Review.pdf 2.黑莓MIDlet开发指南 [文档说明]BlackBerry ...
《HTML5移动应用开发入门经典》总共分为24章,以示例的方式对如何使用HTML5及相关技术进行移动应用开发做了全面而细致的介绍。《HTML5移动应用开发入门经典》首先讲解了HTML5的起源以及它为什么适用于移动设备,然后...
历史信息 •2009年4月1日在美国、加拿大和英国发布 •2009年7月31日扩展至另外10个国家 •法语、意大利语、德语和西班牙语的本地化支持 ...•支持支付服务(应用内购买)和BlackBerry PlayBook应用提交
第3章 编写第一个Android应用程序 第4章 掌握Android开发工具 第二部分 Android应用程序设计基础 第5章 剖析Android应用程序 第6章 使用Android Manifest文件定义应用程序 第7章 管理应用程序资源 ...
计的Web plug-in,通过这个plug-in,提供了一系列图形化的开发指导,文本就是基于Eclipse 的Web plug-in 开发的。 本文使用的BlackBerry Web Plug-in for Eclipse 版本为: v2.0 beta1 (下载地址如下): ...
黑莓(BlackBerry)开发从入门到精通,一线黑莓应用开发人员经验集萃.· 首本全面介绍黑莓开发的中文技术书籍· 一线黑莓应用开发人员经验集萃· RIM中国区总裁鼎力推荐
谷歌地图黑莓版,很好用的,0S5版本。请大家下载。
"嵌入式实时操作系统uCOS-II:第1章 嵌入式系统导论" 本资源是关于嵌入式实时操作系统uCOS-II的第1章,介绍了嵌入式系统的概念和基本知识。 1. 嵌入式系统的定义:嵌入式系统是一种特殊的计算机系统,主要应用于...
黑莓新注566个域名:98系列杂米近500个.docx
Learn BlackBerry Games Development Paperback: 504 pages Publisher: Apress; 1 edition (March 30, 2010) Language: English ISBN-10: 1430227184 ISBN-13: 978-1430227182 Format: PDF You can buy this book: ...
这个示例应用程序可以作为 Android 应用程序开发的良好起点。 Tools 目录 包含所有用于构建 Android 应用程序的命令行工具。最常用、最有用的工具是 adb 实用程序(Android Debug Bridge)。 usb_driver 该目录包含...
黑莓全系列 谷歌地图 Google map 4.4.0 ROM4.5
黑莓google地图,手有黑莓,万路通,乐图。