【发布时间】:2014-04-01 21:26:47
【问题描述】:
我正在使用 Google 地图,并希望能够使用用户当前位置来检测用户是否在标记的半径范围内(放置在地图上)。我有用户当前位置坐标(纬度和经度)和标记的坐标,但不知道如何计算用户是否在该区域内。下面的图片可能最能说明我想要做什么。
我有一个这样的算法:
map.OnInfoWindowClickListener(new OnInfoWindowClickListener()){
public void isUserInArea(Marker marker){
float[] distance = new float[2];
//users current location
Location.distanceBetween(currentLocation.getLatitude(),currentLocatiocation.getLongitude(),
marker.getPosition().latitude, marker.getPosition().longitude, distance);
}
找不到当前位置是否在标记区域内,因为我无法掌握标记圈。然而,这是我最接近它的地方。非常感谢帮助。
为了帮助,我在这样的地图上添加了一个圆圈
// adding circle to map
circleOptions = new CircleOptions();
circleOptions.center(new LatLng(locationlist.get(i)
.getLatitude(), locationlist.get(i).getLongitude()));
circleOptions.radius(20);
circleOptions.strokeColor(Color.BLUE);
circleOptions.fillColor(Color.BLUE);
map.addCircle(circleOptions);
//check that all tasks are in circle radius
Marker locationMarker = map.addMarker(markerOp);
locationMarker.showInfoWindow();
【问题讨论】:
标签: google-maps distance area marker