0

我想在 40 系列手机中访问 Google 地图 API。我尝试使用 http 连接,但地图静态显示。我想加载地图并移动地图中的位置,以便我必须动态使用谷歌地图。

请给出一个想法来做到这一点。

4

1 回答 1

1

Google Maps API站点不包含用于 JavaME(或 Series 40)的特定 SDK 。可以使用静态 Maps API,但只能用于静态图像(不能动态平移或缩放)。

一个不错的选择是使用诺基亚的HERE 地图。它的 API 旨在与 JavaME 一起使用,并在 Series 40 设备中提供动态体验。代码示例也可用,而且看起来相当全面,包括平移、缩放和不同的地图类型。

PS:我与诺基亚没有任何关系。我确实经常在我的诺基亚上使用 Here Maps,我发现它是一个很好的地图解决方案。

编辑:我让诺基亚 HERE 地图在 Java SDK1.1 模拟器上工作,执行以下操作:

  1. 下载诺基亚 Asha SDK 1.0。这个(巨大的)下载包含最新的库。
  2. 使用 Java SDK 1.1 创建一个新的 JavaME 项目。
  3. 登录 HERE Maps 并创建一个 App Id 和 Token。
  4. 在您的 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);
        } 
    }
    
  5. 参考位于“C:\Nokia\Devices\Nokia_Asha_SDK_1_0\plugins\maps api\lib”中的 maps-core.jar。

  6. 清理项目并运行。这应该显示一个基本的可平移和可缩放的地图。
于 2013-06-13T23:40:27.513 回答