2016-06-01 4 views
4

私はGoogle Maps APIを使用していましたが、独自のマーカーと情報ウィンドウを追加してカスタマイズすることができますが、基本マップにはこれらの情報ウィンドウがクリックされたときに表示されるデフォルトのマーカーがあります(下の画像)。ベースのGoogleマップのプレースマーカーの動作をカスタマイズするにはどうすればよいですか?

これらの場所をクリックすると、この動作を削除するか、独自のものを実装する方法はありますか(アプリケーションが追加するマーカーの動作と一貫性を持たせるため)

たとえば、これらのマーカーをクリックして自分のマーカーを追加できるようにするといいでしょう。次のようなものがあります。

defaultMarker.addListener("click", function() { 
    myMarker = new google.maps.Marker({ ... }); 
}); 

例外...これらのデフォルトマーカーを取得する方法はわかりません。

これまでに回答があった場合や、完全に基本的なものを見逃してしまった場合には謝罪しますが、用語の不足のため、これらの「デフォルトマーカー」に関するドキュメントは見つかりませんでした。あなたがでマップ上のクリック可能なアイコンをオフにするには、このプロパティを使用することができます

https://developers.google.com/maps/documentation/javascript/reference#MapOptions

Google Maps Default Marker and InfoWindow

答えて

5

地図のJavaScript APIの現行リリースバージョン3.24は、マップ・オプションオブジェクトのプロパティのclickableIconsを持っていますclickableIconsプロパティをfalseに設定します。また、setClickableIcons()メソッドも存在します。

この例を見てみてください:http://jsbin.com/liyamecoqa/edit?html,output

5

を最新のリリース3.26ではあなたは場所のマーカーをクリックすると、より行うことができます。

Mapオブジェクトの「クリック」イベントを聞く必要があります。ユーザーがPOIをクリックすると、IconMouseEventが発生します。このクラスはRegular MouseEventを拡張し、placeIdというプロパティを含みます。

クリックイベントハンドラでは、イベントオブジェクトがplaceIdを定義しているかどうかを確認できます。それがあれば、あなたはクリックされた場所の場所IDを持っています。イベントでstop()メソッドを呼び出して、マップが標準のInfo Windowを表示しないようにする必要があります。 Places APIを使用して、クリックされたアイコンの詳細を取得したり、独自の情報ウィンドウとして表示され、動作する情報ウィンドウを開くことができます。

私はあなたがこれを行うことができます方法を示して小さなデモ準備:ClickEventHandlerオブジェクトがクリックされた場所へのルーティングの世話をし、場所サービスから詳細情報を取得し、カスタムに表示

http://jsbin.com/parapex/10/edit?html,output

を情報ウィンドウ。

+0

stop()メソッドについて言及していただきありがとうございます。何時間もデフォルトの情報ウィンドウを無効にする方法を探していました。 – Sasha

関連する問題