在j2me中显示谷歌地图

时间:2013-04-18 06:49:31

标签: google-maps java-me

String url = "http://maps.google.com/maps/api/staticmap";url
           += "?zoom=13&size=" + width + "x" + height;url
           += "&maptype=roadmap";url
           += "&markers=color:red|label:A|"
           + lat
           + ","
           + lon; url
           += "&sensor=true";

我的第一次尝试是获取一个带有我的中心位置和缩放级别的静态地图,但是当我在URL中添加标记时,我得到相同的图像,但没有标记。

我在谷歌地图API文档中做的完全相同,但我不知道什么是错的。

还有其他方法可以在j2me应用程序中显示地图吗?

1 个答案:

答案 0 :(得分:0)

基本上有两种方法可以在Java ME应用程序中显示地图。向地图服务器发出HTTP请求的方法最适合您需要的只有一个单个地图图像的情况。由于每次地图更新都需要更多的网络流量。如果您需要一系列图片,添加自定义标记或想要动态更新地图,最好使用使用平铺服务器的专用库,缓存地图图块和覆盖对象在它的上面。这背后的原因描述为here

我建议使用的动态映射库是HERE Maps API for Java ME,从名称可以看出,API是专为与Java ME设备一起使用而设计的。

该API目前与诺基亚Asha SDK 1.0捆绑在一起,但尽管如此,它实际上是一个独立的独立插件,可以与所有标准Java ME设备配合使用。

回答类似的Stack Overflow问题here介绍了如何下载它。

可以在Developer's Guide

中找到在地图上显示标记的代码
map.setState(new MapDisplayState(new GeoCoordinate(51.477, 0.0, 0), 15));

MapStandardMarker marker = mapFactory.createStandardMarker(
        new GeoCoordinate(51.477, 0.0, 0), 10, "Hi!", 
        MapStandardMarker.BALLOON);
marker.setColor(0xFFFF0000);  // Color is red
map.addMapObject(marker);

作为关联通知,我应该顺便提一下,我为诺基亚工作。