0

私のGoogleマップは「オフロード」の場所をサポートする必要があります。

マップマーカーが道路にスナップしないようにする方法を知りたいのですが。

入力フィールドからアドレスが渡され、マーカーの位置からlat&lngが抽出されます。

function geoCodeLocation(address, lat, lng) {
    geocoder.geocode( 
    { 
        "address" : address ? address : '', 
        "location" : new google.maps.LatLng(lat, lng) 
    },
     /* ... */

}
4

1 に答える 1

3

あなたが示したコードは非常に最小限であるため、要点を見逃している可能性がありますが、ジオコーディングは通常、次の2つのいずれかを実行します。

  1. LatLngがあり、アドレスが必要です
  2. あなたは住所を持っていて、LatLngが必要です

GeocodingServiceには、アドレスまたは場所のいずれかが必要ですが、両方は必要ありません

コードは、常にLatLngがあり、アドレスが存在する可能性があることを想定しているように見えます。LatLngを使用してジオコーダーを呼び出すと、アドレスが返されます。その場合、道路にマーカーを付けるのは理にかなっています。

一方、住所がある場合、返されるLatLngは住所に基づいているため、道路に接続されることも理にかなっています。

しかし、常にLatLngを使用している場合は、LatLngを使用してマーカーを作成し、ジオコード呼び出しをスキップしてみませんか(特に、マーカーを道路に配置したくない場合)。

私が基準を外れている場合は、質問に詳細を追加していただけますか?

于 2012-05-22T03:58:13.860 に答える