googlemaps api v2ではマップ上にマーカーが1つあり、この周りに境界ボックスを計算する必要があります。どのようにしてこのマーカーが中心である5〜5キロメートルのボンディングボックスを手に入れますか?googlemapsはマーカーの周囲にバウンディングボックスを表示します
答えて
を確認し、実際の1; Calculate distance, bearing and more between Latitude/Longitude pointsがあります)地理的なデータと異なる計算への素晴らしい参照。そのページを開き、「目的地からの距離と出発点からの方位」の部分に移動すると、数式とオンライン計算機があるので、それらをチェックすることができます(地図上の点も表示されます)。 、あなたは南、北、東と西の矩形の辺の座標を見つける必要があるバインドなので、あなたはパラメータに変更されるすべてが角であり、そして、あなたの場合には、それは0になります見つけること
(lat1,lng1) - your point (marker coordinates)
d - distance (in your case it would be 2.5km)
brng - angle..
:式は、いくつかのパラメータを持っています90度、180度、270度。式:
var lat2 = Math.asin(Math.sin(lat1)*Math.cos(d/R) +
Math.cos(lat1)*Math.sin(d/R)*Math.cos(brng));
var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(lat1),
Math.cos(d/R)-Math.sin(lat1)*Math.sin(lat2));
まあ、角度= 0あなたは北見つけ、PI/2の指定 - (角度はラジアンで渡す必要があります)西 - 東、PI - 南、3 *のPI/2。
R = earth’s radius (mean radius = 6,371km)
アドオン:私はオンラインフォームベアリングに入るときためだけで、そのページのソースコードを見= 0、2、私は二つの点でマッピングし、地図の縮尺に応じて参照=距離それらの間の距離は実際に2kmです。さて、あなたはどんな保証明示せずに、または黙示、シンプルattributionライセンスの下でこのライブラリを使用することができ、あなたが必要それを含め
<script src="http://www.movable-type.co.uk/scripts/latlon.js"></script>
機能は次のとおりです。
/**
* Returns the destination point from this point having travelled the given distance (in km) on the
* given initial bearing (bearing may vary before destination is reached)
*
* see http://williams.best.vwh.net/avform.htm#LL
*
* @param {Number} brng: Initial bearing in degrees
* @param {Number} dist: Distance in km
* @returns {LatLon} Destination point
*/
LatLon.prototype.destinationPoint = function(brng, dist) {
dist = typeof(dist)=='number' ? dist : typeof(dist)=='string' && dist.trim()!='' ? +dist : NaN;
dist = dist/this._radius; // convert dist to angular distance in radians
brng = brng.toRad(); //
var lat1 = this._lat.toRad(), lon1 = this._lon.toRad();
var lat2 = Math.asin(Math.sin(lat1)*Math.cos(dist) +
Math.cos(lat1)*Math.sin(dist)*Math.cos(brng));
var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(dist)*Math.cos(lat1),
Math.cos(dist)-Math.sin(lat1)*Math.sin(lat2));
lon2 = (lon2+3*Math.PI)%(2*Math.PI) - Math.PI; // normalise to -180...+180
return new LatLon(lat2.toDeg(), lon2.toDeg());
}
と私はオンラインフォームベアリングで入力してください= 0、距離= 2、このメソッドは、引数latLonCalc.destinationPoint(0, "2");
私は
間違っているかどうか確認することができるように私に入力パラメータを与えそうでない場合は、それをしようと実行されますUPDATE2このライブラリはgradsで動作し、計算のためにそれらをラジアンに変換してから再びgradsに変換します。
var latLonCalc = new new LatLon(25, 45);
var point = latLonCalc.destinationPoint(0, "2");
console.info(point);
// prints 25°01′05″N, 045°00′00″E { _lat=25.01798643211838, _lon=45.00000000000005, _radius=6371}
そう入口点と最終目的地との間の距離が1分よりも少しである:単純なテストを行います
earth = 2 * PI * 6371; // 40 009.98km
=> 40 009.98km/360grad =~111.14
=> 111,14/60 = 1.85 (km/minute) ~2km
それだった最後のポイントは、その後、遠くのエントリポイントではない、との距離は2キロであることを私に語ったラウンド計算、;)
ないあなたが必要ですが、私はそのような機能がグーグルマップで提供されていることを確認しないんだけど、数学はあなたが生き残るために役立ちます。この記事
http://www.svennerberg.com/2008/11/bounding-box-in-google-maps/
- 1. 最初のGoogleMapsマーカーは表示されませんが、2番目のマーカーは表示されません
- 2. AngularJS/GoogleMaps(常にマーカーを非表示にする)
- 3. イメージ内のテキストの周囲にバウンディングボックスを配置する
- 4. Googleマップ(Androidスタジオ)の選択した場所の周囲にマーカーを表示しますか?
- 5. byebugで周囲のコードをもっと表示するには?
- 6. 表示されているスプライトの周りだけにバウンディングボックスを作成
- 7. GoogleMapsでのSwipeRefreshLayoutの表示
- 8. googlemapsのマーカーの標高を取得
- 9. GoogleMaps InfoWindowを前面に表示
- 10. GoogleMapsは多数のマーカーで遅れます
- 11. フィルタでHashMapマーカーを表示または非表示にする
- 12. 親要素の周囲にドロップダウンメニューが表示される
- 13. OverlayView、GoogleMaps API V3上のマーカーJavaScript
- 14. バウンディングボックスは常に高さをabs(min.y)+ max.yとして表示します
- 15. マーカーを更新し、マーカー位置をGoogleMapsで確認する方法
- 16. Googleマップのマーカーは特定のフィールドのマーカーのみを表示します
- 17. ユーザーの現在の位置とその周辺の近くのGoogleマーカーを表示しますか?
- 18. ライトボックスの周囲に赤い枠が表示されるCSS - 削除方法は?
- 19. ウェブページ上のすべてのdivタグの周囲に罫線を表示する方法はありますか?
- 20. GoogleMaps:ズームアウトせずにマーカーを追加する方法。
- 21. Here-Map Android sdkのマーカーの横にテキストを表示します。
- 22. Googleマップはfirebaseから複数のマーカーを表示します
- 23. マーカーの周りのポリゴン/円を削除しますか?
- 24. ネイティブのAirbnbマーカーに反応します:マーカーは正常に消えますが、再表示されません。
- 25. MapViewのマーカーが表示されます
- 26. MpChartでデフォルトでマーカー表示を表示
- 27. GoogleMaps API V3で複数のマーカーを定義する方法
- 28. googlemapsでマーカーと中心の距離を取得する方法
- 29. 複数のマーカーがphpとmysqlのgooglemapsにある
- 30. 配列の地図にマーカーを追加しましたが、マーカーは1つしか表示されません
あなたは、私が上記の式を使用している場合、これは100%正しいと確信していますbrng = 0、距離= 2で2km以上離れたところにwaaayがあります – nokiko
@nokiko:私の答えを更新しました。どうぞご覧ください – Maxym