如何使用位置名称在地图上添加标记

时间:2019-03-15 10:58:21

标签: java android

@Override
public void onMapReady(GoogleMap googleMap){
    map = googleMap;
    LatLng tinching = new LatLng(22.3290803, 114.1478785);
    map.addMarker(new MarkerOptions().position(tinching).title("Sham Shui Po"));
    map.moveCamera(CameraUpdateFactory.newLatLng(tinching));
    map.animateCamera(CameraUpdateFactory.newLatLngZoom(tinching,15));
}

大家好,如何使用位置名称(例如伦敦)在地图上添加标记,而不是输入纬度和经度?

1 个答案:

答案 0 :(得分:0)

首先,您需要使用Geocoder(https://developer.android.com/reference/android/location/Geocoder.html)才能按名称获取城市的经纬度。

<script>
  tinymce.init({
    selector: ".wp-editor-area"
  })
</script>

然后使用您的latlng添加标记

    if(Geocoder.isPresent()){
try {
    String cityName= "NameOfTheLocation";
    Geocoder geocoder = new Geocoder(this);
    List<Address> addresses= geocoder.getFromLocationName(cityName, 5); // get the found Address Objects

    List<LatLng> latlng = new ArrayList<LatLng>(addresses.size()); // A list to save the coordinates if they are available
    for(Address a : addresses){
        if(a.hasLatitude() && a.hasLongitude()){
            latlng .add(new LatLng(a.getLatitude(), a.getLongitude()));
        }  
    }  
} catch (IOException e) {
     // handle the exception
}}