特定のマーカーが円の半径内にあるかどうかを知りたいのですが。
Javascriptでは、次のようなことができます。
google.maps.geometry.spherical.computeDistanceBetween(latLngCircleCenter, latLngPoint);
しかし、Androidでは、maps-v2を使用すると、行き詰まります。
多くの調査の結果、私は非常に簡単な解決策を見つけました。
float[] distance = new float[2];
Location.distanceBetween( marker.getPosition().latitude, marker.getPosition().longitude,
circle.getCenter().latitude, circle.getCenter().longitude, distance);
if( distance[0] > circle.getRadius() ){
Toast.makeText(getBaseContext(), "Outside", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getBaseContext(), "Inside", Toast.LENGTH_LONG).show();
}
私はこれをテストしていて、機能しています。誰かがテストしてここにフィードバックを与えることはできますか?
Javascriptで使用するのと同じAPIがAndroid here: https://github.com/googlemaps/Android-maps-utils/blob/master/library/ src/com/google/maps/Android/SphericalUtil.Java
円の中心を見つけることは可能だと思います。コード内で、特定のジオポイントを反映して円を定義しています。保存して後で使用できます。次に、 Location.distanceBetween(..) を試してください