関連する質問を参照してください: グーグルマップカスタムローカル検索/検索コントロール
Googleマップでカスタムロケーションと情報ウィンドウを作成できることを知っています。 http://code.google.com/apis/ajax/playground/#info_windows_sharing_v
そして私はローカル検索が近くの場所(公共のもの)を見つけることができることを理解しています
例えば。 http://code.google.com/apis/ajax/playground/#localsearch_with_markers
しかし、私の質問は単純です:どうすれば両方を組み合わせることができますか?ローカル/場所検索機能と同じように、ただしカスタムマーカーの場所(たとえば、Googleの場所/ローカルデータではなく自分の場所データ)でのみ有効にするにはどうすればよいですか?
たとえば、カスタムの場所データ/マーカーのセット(Googleプレイスに公開されていない)がある場合、ユーザーが住所または現在の場所に関連する近くのカスタム場所のリストを検索できるようにするにはどうすればよいですか?
Local Search API は非推奨であるため、おそらく Places API への移行を検討する必要があります。
いずれの場合も、(検索または)Places APIにクエリを実行し、結果からLatLngsを抽出して、マーカーをマップに配置するだけです。
カスタムマーカーの意味がわかりません。(a)各結果の独自のアイコンをマーカーのアイコンとして使用するか、(b) )ユーザーがGoogleのローカル/場所ではなくあなたのデータ(マーカー)を検索できるようにします。
(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マップを使用したストアロケーターの作成 のように別の話になります。