我在我的应用程序中添加了谷歌地图。我在谷歌地图上显示当前位置。我现在在我的当前位置显示一个红色标记,我想在弹出窗口上显示标记,我们通常会看到在apps.I尝试了一些方法,但没有一个为我工作。在这里共享代码。
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");
}
2.我试过的第二种方式
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker arg0) {
String title = "Any Thing You want";
marker.setTitle(title);
return true;
}
});
请告诉我在哪里弄错了。谢谢
答案 0 :(得分:3)
使用地理编码器
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;
}
});
答案 1 :(得分:0)
您可能需要查看Geocoding and Reverse Geocoding
地理编码是将地址(例如“1600 Amphitheatre Parkway,Mountain View,CA”)转换为地理坐标(如北纬37.423021和经度-122.083739)的过程,您可以使用它来放置标记在地图上,或定位地图。
Reverse Geocoding (Address Lookup) - 术语地理编码通常是指将人类可读地址转换为地图上的某个位置。相反的过程,将地图上的位置转换为人类可读的地址,称为反向地理编码。
尝试
同时检查此tutorial about Google Maps on android。
希望这有帮助!
答案 2 :(得分:0)
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String title = "Any Thing You want";
marker.setTitle(title);
marker.showInfoWindow();
return true;
}
});
答案 3 :(得分:0)
非常简单
只需添加一个标题......
mMap.addMarker(new MarkerOptions().position(
new LatLng(12.9969284, 80.25792380000007)).title("A2B Car Parking").icon(
BitmapDescriptorFactory.fromBitmap(BitmapFactory
.decodeResource(getResources(),
R.drawable.red_icon))).anchor(0.5f, 1f));
希望这有效!