Android 识别安卓谷歌地图中当前位置标记的点击
在Google Maps V2 for Android中,当用户点击当前位置标记(带白色边框的蓝色标记)时,识别的最佳选项是什么 我在互联网上找不到任何例子,我唯一能想象的是:Android 识别安卓谷歌地图中当前位置标记的点击,android,google-maps-android-api-2,Android,Google Maps Android Api 2,在Google Maps V2 for Android中,当用户点击当前位置标记(带白色边框的蓝色标记)时,识别的最佳选项是什么 我在互联网上找不到任何例子,我唯一能想象的是: googleMap.setOnMapClickListener(new OnMapLongClickListener() { @Override public void onMapClick(LatLng point) { // curren
googleMap.setOnMapClickListener(new OnMapLongClickListener() {
@Override
public void onMapClick(LatLng point) {
// currentLocation is the location set by onLocationChanged method
if (currentLocation != null
&& (currentLocation.getLatitude() == point.latitude
&& currentLocation.getLongitude() == point.longitude)) {
toastIt("Click over current position!");
}
}
});
您可以添加用户位置标记并引用其id:
mUserMarkerId = mMap.addMarker(new MarkerOptions().position(latLng)
.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_BLUE)))
.getId();
使用MarkerClickListener上的可以检测单击的标记是否是用户标记
mMap.setOnMarkerClickListener(new OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
if (marker.getId().equalsIgnoreCase(mUserMarkerId))
// Clicked user marker
}
return true;
}
});
这是更好的解决办法
map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng)
{
Location location=getLocation();
if(map.isMyLocationEnabled()&&location!=null)
{
float distance[]=new float[1];
Location.distanceBetween(location.getLatitude(), location.getLongitude(), latLng.latitude, latLng.longitude, distance);
if(distance[0]<location.getAccuracy())
{
Log.d(TAG, "onMapClick: It is user!");
}
}
}
});
map.setOnMapClickListener(新的GoogleMap.OnMapClickListener(){
@凌驾
公共无效的点击(LatLng LatLng)
{
Location=getLocation();
if(map.isMyLocationEnabled()&&location!=null)
{
浮动距离[]=新浮动[1];
Location.distanceBetween(Location.getLatitude(),Location.getLongitude(),latLng.latitude,latLng.longitude,distance);
如果(距离[0]我知道已经很晚了,但是对于任何一个搜索这个的人来说
现在,它得到了本地支持(自2017年9月18日起)
从下面提到的页面:
使用新的GoogleMap.OnMyLocationClickListener来检测用户何时单击“我的位置”蓝点
我建议您关注此页面以获取最新更新
检查类似的
@Override
public void onMyLocationClick(@NonNull Location location) {
Toast.makeText(this, "Current location:\n" + location, Toast.LENGTH_LONG).show();
}