我想访问谷歌地图API系列40手机。我尝试使用http连接,但地图静态显示。我想加载地图并移动地图中的位置,这样我就必须动态地使用谷歌地图。
Google Maps API站点不包含针对JavaME(或Series 40)的特定SDK。静态Maps API可以使用,但只能用于静态图像(不能动态平移或缩放)。
一个好的选择是使用诺基亚的HERE地图。它的API被设计为与JavaME一起工作,并在Series 40设备中提供动态体验。代码示例也可用,似乎是相当全面的,包括平移,缩放和不同的地图类型。
PS:我和诺基亚没有任何关系。我确实经常在我的诺基亚上使用Here Maps,我发现它是一个很好的地图解决方案。编辑:我得到了诺基亚HERE地图工作在一个Java SDK1.1模拟器做以下:
- 下载Nokia Asha SDK 1.0这个(巨大)下载包含最新的库。
- 使用Java SDK 1.1创建一个新的JavaME项目
- 登录HERE Maps并创建App Id和Token。
在MIDlet中添加以下代码:
public class MapMIDlet extends MIDlet { protected void startApp() throws MIDletStateChangeException { ApplicationContext.getInstance().setAppID("API IP"); ApplicationContext.getInstance().setToken("API TOKEN"); Display display = Display.getDisplay(this); MapCanvas mapCanvas = new MapCanvas(display){ public void onMapUpdateError(String description, Throwable detail, boolean critical) { // Error handling goes here. } public void onMapContentComplete() { } }; mapCanvas.getMapDisplay().setState( new MapDisplayState(new GeoCoordinate(52.51, 13.4, 0), 10)); display.setCurrent(mapCanvas); } }
引用位于"C:NokiaDevicesNokia_Asha_SDK_1_0pluginsmaps apilib"中的maps-core.jar。
- 清理项目并运行。这应该显示一个基本的可平移和缩放的地图。