谷歌地图标记显示标题中的位置名称
问题描述:
我是一个在android开发的总新手,试图在这里学习。我试图让标记显示在地图上,并且可以显示纬度和经度。我想将这些纬度和经度转换为相应的位置名称,并且我知道可以使用反向地理编码器,但我不知道如何对其进行编码。谷歌地图标记显示标题中的位置名称
这是我的代码。
public void onMapReady(final GoogleMap googleMap) {
mMap = googleMap;
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
String address;
String city;
mMap.clear();
Geocoder geocoder;
List<Address> addresses;
geocoder = new Geocoder(MapsActivity.this, Locale.getDefault());
try {
addresses = geocoder.getFromLocation(point.latitude, point.longitude, 1);
address = addresses.get(0).getAddressLine(0);
city = addresses.get(0).getLocality();
MarkerOptions markerOptions = new MarkerOptions()
.position(point)
.title(city);
Marker marker = mMap.addMarker(markerOptions);
marker.showInfoWindow();
} catch (IOException e) {
e.printStackTrace();
}
}
});}
答
如果你想建立一个自定义地点选择器像尤伯杯或swiggy你要写信给谷歌Places API的服务调用来检索位置的详细信息。您必须进行异步服务调用以获取放置标记的位置。
如果你想使用谷歌的帮助,那么你可以去Google PlacePicker。这是很容易,快速和有效的性能和应用程序的重量方面。
答
您可以使用集合框架来映射(匹配)带有标记的地址。例如, Map«String,String»address_match; 第一个字符串将是标记ID:每当您创建标记getid()并将其与地址放置在收集地图对象中时。这样,您就可以通过ID标记时,点击
市场搜索已经显示经纬度,我只是需要把它转化利用地理编码的地名。我知道这是可能的,但我不知道如何正确编码。 –