12

関連する質問を参照してください: google maps custom local search / search control

Google マップでカスタムの場所と情報ウィンドウを作成できることはわかっています。たとえばhttp://code.google.com/apis/ajax/playground/#info_windows_sharing_v3

また、ローカル検索で近くの場所 (公共の場所) を検索できることも理解しています。
例: http://code.google.com/apis/ajax/playground/#localsearch_with_markers

ただし、私の質問は簡単です。両方を組み合わせるにはどうすればよいですか? ローカル/場所の検索機能と同じ機能をカスタム マーカーの場所 (Google の場所/ローカル データではなく自分の場所データなど) でのみ有効にするにはどうすればよいですか?

たとえば、一連のカスタム位置データ/マーカー (Google プレイスに公開されていない) がある場合、ユーザーが住所または現在位置に関連する近くのカスタム位置のリストを検索できるようにするにはどうすればよいですか?

4

1 に答える 1

9

Local Search APIは廃止されたため、 Places APIへの移行を検討する必要があります。

どちらの場合でも、(Search または) Places API にクエリを実行し、結果から LatLngs を抽出して、マップ上にマーカーを配置するだけで済みます。

カスタム マーカーの意味がわかりません。(a) 各結果の独自のアイコンをマーカーのアイコンとして使用するか、(b) ユーザーが Google の Local/Places の代わりにデータ (マーカー) を検索できるようにします。

(a) Places Libraryを使えば簡単です。place-search.html の例では、createMarker()コールバック関数に 1 行だけ追加します。

function createMarker(place) {
  var placeLoc = place.geometry.location;
  var marker = new google.maps.Marker({
    map: map,
    icon: place.icon,
    position: place.geometry.location
  });

  google.maps.event.addListener(marker, 'click', function() {
    infowindow.setContent(place.name);
    infowindow.open(map, this);
  });
}

ただし、元のアイコンは大きく見えるので、縮小することをお勧めします。

(b) PHP、MySQL & Google マップを使用した店舗検索の作成 のように、別の話になります。

于 2012-02-04T04:48:19.943 に答える