2017-01-06 1 views
-1

私たちはGoogle Maps APIを使用して、私たちのウェブサイトのすべての診療所のリストを表示しています。私は「近くにすべての診療所を表示する」機能を作成中です。すべてがうまくいき、ジオメトリライブラリからのGoogle Maps Circleコールを使用して地図上に円を描いています。Google Maps API(3)computeDistanceBetween戻り値NaN

このサークル内にあるすべての診療所のリストを返信したいと考えています。私たちのクリニックは別の.jsファイルからの$.get();呼び出しによってロードされます。私はgoogle.maps.geometry.spherical.computeDistanceBetween(pointA, pointB);機能を使って、各診療所が円の中心にあるかどうかをテストしました。pointBは円の中心で、pointAは診療所の位置です。どちらもnew google.maps.LatLng(clinic.lat, clinic.long));で定義されています。

ComputeDistanceBetweenはすべての診療所でNaNを返します。いくつかの感度の問題のために私は正確なコードを共有することはできませんが、modified a Google Maps API fiddle for marker clustering HEREはマーカークラスタリングと緯度/経度のロードも同様に使用しているためです。

私は既にthis postをチェックしていて、うまくいきませんでした。

答えて

2

コードに入力ミスがあります。

var mylocation = new google.maps.LatLng(locations[0].lat, locations[0].lng); 
    console.log(mylocation); 
    var marker_lat_lng = new google.maps.LatLng(locations[2].lat, locations[2].lng); 
    console.log(marker_lat_lng); 
    var distance_from_location = google.maps.geometry.spherical.computeDistanceBetween(mylocation, marker_lat_lng); 
    document.getElementById('feedback').innerHTML = distance_from_location; 

proof of concept fiddle

+0

ああG-DのD ---それは:locations[x].longが存在しない、それはそう、あなたの関数があるべきlocations[x].lng

なるべきです!常にシンプルなもの。私は100回以上これを越えてしまったので、毎回それを見逃してしまったようです。私の開発コードでそれを試して、それがどのように揺れているかを見てみましょう。 –

+0

それはそれでしたが、デベロッパーコードの場合、私は 'lng'ではなく' long'を持っていました。オイ。ありがとう! –