Tec*_*ain 1 android google-maps google-maps-api-3
我在我的应用程序中添加了谷歌地图。我在谷歌地图上显示当前位置。我现在在我的当前位置上显示一个红色标记,点击标记我想在弹出窗口中显示标记上方的地址,就像我们通常在应用程序中看到的那样。我尝试了一些方法,但没有一个对我有用。在这里分享代码。
1.我尝试的第一种方式
@Override
public void onLocationChanged(Location location) {
mMap.clear();
latitude = location.getLatitude();
longitude = location.getLongitude();
MarkerOptions mo=new MarkerOptions();
LatLng latLng = new LatLng(latitude, longitude);
marker=mMap.addMarker(mo.position(latLng));
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
mMap.animateCamera(CameraUpdateFactory.zoomTo(15));
mo.title("Current Location");
}
Run Code Online (Sandbox Code Playgroud)
2.我尝试的第二种方式
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker arg0) {
String title = "Any Thing You want";
marker.setTitle(title);
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
请告诉我在这里错在哪里。谢谢
使用地理编码器
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
Geocoder geocoder = new Geocoder(this,Locale.getDefault());
addresses = geocoder.getFromLocation(marker.getPosition().latitude(), marker.getPosition().longitude(), 1); //1 num of possible location returned
String address = addresses.get(0).getAddressLine(0); //0 to obtain first possible address
String city = addresses.get(0).getLocality();
String state = addresses.get(0).getAdminArea();
String country = addresses.get(0).getCountryName();
String postalCode = addresses.get(0).getPostalCode();
//create your custom title
String title = address +"-"+city+"-"+state;
marker.setTitle(title);
marker.showInfoWindow();
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5049 次 |
| 最近记录: |