首页 > 解决方案 > 在给定名称/Google Maps URL 的地方放置位置图钉?

问题描述

我的应用程序中有一个 MapView,我可以毫无问题地加载它,并将位置图钉放置在某个经度和纬度上。

这是我使用的代码:

private MapView mapView;
private GoogleMap gmap;


    gmap = googleMap;
    gmap.setMinZoomPreference(17);
    UiSettings uiSettings = gmap.getUiSettings();
    uiSettings.setCompassEnabled(true);
    uiSettings.setZoomControlsEnabled(true);

    LatLng ny = new LatLng(40.7143528, -74.0059731);

    MarkerOptions markerOptions = new MarkerOptions();
    markerOptions.position(ny);
    gmap.addMarker(markerOptions);

    gmap.moveCamera(CameraUpdateFactory.newLatLng(ny));

它运作良好。地图加载和手势并启用。大头针也会落在指定的纬度和经度上。

但是,我想改变这一点。我希望根据地点名称(例如帝国大厦)或 URL(http://maps.google.com/?q=Empire%20State%20Building)删除图钉。但是,在花时间浏览互联网和文档后,似乎设置 pin 的唯一方法是通过 LatLng 对象。

虽然我对使用 Lat 和 Long 没有强烈反对意见,但我更喜欢使用可识别名称或地点本身的 URL,因为它会使数据库更易于阅读。

有没有人使用名称或 Google Maps url 成功设置了 pin?

标签: androidgoogle-mapsandroid-mapview

解决方案


我可以看到的一种解决方案是使用Geocoding API将地点名称转换为经纬度。

使用地理编码,我们将能够将地址(如“1600 Amphitheatre Parkway, Mountain View, CA”)转换为地理坐标(如纬度 37.423021 和经度 -122.083739),您可以使用该信息在地图上放置标记。


推荐阅读