我正在构建一个应用程序,允许用户通过选择标记并单击信息窗口进行确认来设置接近警报。我需要能够从标记中获取纬度和经度,以便我可以使用坐标来设置半径。
googleMap.setOnInfoWindowClickListener(
new OnInfoWindowClickListener(){
public void onInfoWindowClick(Marker marker) {
//click function
Toast.makeText(getBaseContext(),
"Info Window clicked@" + marker.getPosition(),
Toast.LENGTH_SHORT).show();
LocationManager lm;
double lat=0;
double long1=0; //Defining Latitude & Longitude
float radius=3000;
lm=(LocationManager) getSystemService(LOCATION_SERVICE);
Intent i= new Intent("com.example.sleepertrain5.proximityalert"); //Custom Action
PendingIntent pi = PendingIntent.getBroadcast(getApplicationContext(), -1, i, 0);
lm.addProximityAlert(lat, long1, radius, -1, pi);
到目前为止,我只能找到不允许直接变量设置的marker.getLocation()
。有没有办法做到这一点?
答案 0 :(得分:0)
你试过这个:
map.setInfoWindowAdapter(new InfoWindowAdapter() {
// Use default InfoWindow frame
@Override
public View getInfoWindow(Marker args) {
return null;
}
// Defines the contents of the InfoWindow
@Override
public View getInfoContents(Marker args)
{
LatLng clickedMarkerLatLng = args.getPosition();
double latitude = clickedMarkerLatLng.latitude;
double longitude = clickedMarkerLatLng.longitude;
....
}
答案 1 :(得分:0)
我希望此代码可以帮助您:
@Override public void onMapLongClick(LatLng point) { Latitude lat = point.getLatitude(); Longitude lng = point.getLongitude(); }