2

私は Google ジオコーディングを使用しており、地方の住所の多くでは、マーカーが区画の中央に配置されています。必要なのは、ジオコーディングされた住所の前の通りに配置されたマーカーです。

これは、現在テスト用に持っているものへのリンクです。 http://www.commsoft.net/maps/index.html

どんな提案でも大歓迎です。

4

2 に答える 2

1

Google Maps API StreetViewServiceを使用して、必要な通りの場所を取得できる可能性があります。

GoogleMapsAPI-ストリートビューデータに直接アクセスする

  1. ジオコーダーを使用して緯度の位置を取得します
  2. その場所、検索範囲、およびコールバック関数をストリートビューサービスに送信します。

    var streetViewService = new google.maps.StreetViewService(); streetViewService.getPanoramaByLocation(location, searchRadius, callbackFunction);

  3. streetViewServiceは、現在地に最も近いストリートビュー写真で応答します。コールバック関数でcallbackFunction(data, status)、、data.location.latLngには、そのストリートビュー写真が撮影された通りの場所が含まれます。

  4. その場所をマーカーに使用します。

これは完璧な解決策ではありませんが、自分の街路の場所をデータベースに保存する以外に、できる限り最善の方法かもしれません。主な欠点は、それが機能するためには、住所にストリートビュー画像が必要なことです。したがって、主に地方の住所に関心がある場合は、うまくいかない可能性があります。

于 2012-08-17T00:08:36.230 に答える
0
  1. Google Maps APIマップに複数の住所を表示する最良の方法は、それらをオフラインでジオコーディングし、データベース(または住所を取得している場所)に座標を保存することです。ジオコーダーまたはルート案内サービスを使用して10〜15を超えるマーカーを表示する場合は、割り当て/レートの制限に達します。
  2. 住所をオフラインでジオコーディングする場合、ジオコーダーから返される値が気に入らない場合は、それらを修正できます。
  3. 住所に最も近い通りの座標をプログラムで取得するためのオプションは、ルート案内サービスを使用することです(目的の住所からそれ自体へのルートを取得すると、道路上の同じ始点と終点が最も近い地点で、長さがゼロのルートになります。アドレスへ)。

住所を使用した例

于 2012-08-16T22:10:11.827 に答える