問題タブ [infowindow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-maps-api-3 - Googleマップ上に数千の情報ウィンドウを作成するための最適化戦略
私はGoogleMapsAPIを初めて使用し、MarkerClustererを使用して地図上に最大2,000個のマーカーをプロットするRoRアプリケーションを引き継ぎました。各マーカーには、関連付けられた情報ウィンドウがあります。
現在の実装では、JavaScriptで情報ウィンドウのコンテンツ文字列の配列を作成し、JavaScriptをブラウザにダウンロードします。非圧縮(サーバーコンテンツ圧縮なし)の場合、アレイとJavascriptは最大9MBになる可能性があります。
私が見つけたこの実装に関連するパフォーマンスのボトルネックは次のとおりです。1。サーバーで2000個の文字列を作成し、JavaScript配列に配置する時間。(〜4-5秒)2。ブラウザに送信する前に、サーバーで数メガバイトのJavaScriptを圧縮する時間。(〜2-3秒)
私のイニシャルは、すべてのHTMLフォーマットを含むinfowindowコンテンツ文字列のテンプレートを作成して、infowindowコンテンツの配列に含まれるデータが実際に表示される生の数値だけになるようにすることです。これにより、サーバー上でコンテンツ文字列配列をアセンブルする計算時間が大幅に短縮され、それに応じてブラウザで配列によって消費されるメモリが削減されます。また、一度に開く必要がある情報ウィンドウは1つだけです。
Google Maps v3 APIに慣れていないので、これが最適化の最良の戦略であるかどうかについてのガイダンスを探しています。そして、このタイプの戦略を実装するコードサンプルへのポインタ。
前もって感謝します、
-スコット
javascript - GoogleMapsAPIインフォウィンドウ内の要素にイベントを追加する
Google Maps API(v3)インフォウィンドウ内に入力フィールドと送信ボタンを備えたフォームを配置したいと思います。
提出したら、入力フィールドに入力したアドレスを使用してルートサービスを開始する関数を呼び出したいと思います。
これが私のコードです(私は現在、directionsイベントが発生しているかどうかをテストしているだけです。完全なgetDirections()
イベントを記述し、正しく発生したときに動作し、方向を返すことを確認できます):
次のように、MooToolsを使用してイベントリスナーを追加してみました。
私は自分のサイトの他の場所でMooToolsを使用しているので、すべてのコードをwindow.addEvent('load', function(){...});
フォーム要素を正しく出力しているコンソールトレースに注意してくださいdbug.log($("map-form"));
。ただし、イベントは発生していません。
DOMの別のフォーム(IDが異なる)に同じイベントを追加しましたが、正常に機能します。
それで、MooToolsが要素を見つけて、おそらくイベントリスナーを追加できる場合、イベントの発生を妨げているのは何ですか?これはスコープの問題ですか?
google-maps - Google Maps API v3 の GInfoWindowTab に相当するもの
Google Maps API v2 の場合: GInfoWindowTab (title,content) - ポップアップ ウィンドウの情報を部分に分割します。
例えば:
等々。
Google Maps API v3 では、この関数は機能しません。
そして、対応する最新の公式リファレンスにはそのような機能はありません: http://code.google.com/intl/ru/apis/maps/documentation/javascript/reference.html#InfoWindow
その機能を置き換える方法や模倣する方法を知っている人はいますか?
android - マップ上に infoWindow を配置する方法は?
いくつRelativeLayout
かのビューを保持する があります。ビューの 1 つはMapView
、基本的にキャンバスにビットマップをレンダリングするビューです。
ここで、ある種の情報ウィンドウを実装したいと思います。
FrameLayout
を保持するレイアウトを作成しましたTextView
。画像に 9patch を使用したので、伸縮性があり、コンテンツを保持できます。
ジェスチャ (長押し) を実装してMapView
おり、 が表示される画面のポイントを知っていますinfoWindow
。次に、情報ウィンドウ ビューを膨らませて配置しようとしましたが、問題は測定できない (値が 0) ため、マップ上に配置する方法がわかりません。
情報ウィンドウの配置方法に関するヒントをいただければ幸いです。
javascript - Google Map API v3 InfoWindow が、関数からの setContent で開かない
シンプルな Google マップ v3 コードがあります。マップを作成し、markerCluster にマーカーを追加します。infoWindow にコンテンツを設定して開くことを除いて、すべて正常に動作しています。この関数getSupplierDetails()
は、短い文字列 (つまり、"Red Supply") を返すだけです。
問題は次のとおりです。「Red Supply」というテキストを setContent 行にハードコーディングするとinfoWindow.setContent("Red Supply");
、情報ウィンドウがコンテンツで正常に開きます。
getSupplierDetails()
しかし、以下のコードのようにそのままにしておくと、関数は「Red Supply」を返しますが、情報ウィンドウはまったく開きません。
getSupplierDetails()
関数は次の JSON 文字列を返します: {"popupContent": "Red Suppplier"}
Firebug から。
解決策なしでそれに長い間費やしました。どんな助けでも感謝します。
ありがとう
google-maps-api-3 - グーグルマップv3サークルに情報ウィンドウを追加
google.maps.Circleによって作成されたサークルにinfoWindowを追加する方法はありますか?
このようなもの
と
または、代わりに、クリックして情報ウィンドウにアクセスできる、円の中心に非表示のマーカーを作成する方法があります。
google-maps-api-3 - Googleマップの情報ウィンドウの内容を変更する
選択した国と日付に基づいて、結果のリストがマップに表示されます。HTMLデータを含むマーカーの配置は正常に機能します。私が抱えている問題は、マーカーが重複しているケースを処理することです。
重複しているものをチェックする方法を見つけましたが、すでに存在するものの情報ウィンドウのコンテンツを変更できるようにしたいと思います。同じ場所にある既存のマーカーに重複マーカーのコンテンツを追加できるようにします。
私が抱えている問題は、重複するデータの既存の情報ウィンドウでデータにアクセスする正しい方法が見つからないことです。
alert(infoWindow.getContent());を実行すると、「未定義」になります。また、markers [i] .getContent()を試しましたが、それでも何も起こりませんでした。
以前に追加したマーカーの情報ウィンドウにアクセスし、getContent()を使用してコンテンツを取得し、重複するマーカーのデータを追加する方法についてのアイデアや提案はありますか?
google-maps-api-3 - googleマップv3はinfoWindowでコンテンツの複数の行をフォーマットします
複数行のコンテンツを含むinfoWindowをgooglemapsv3で作成しようとしています。ただし、改行を挿入するために使用している「\n」は機能していないようです。改行を挿入するための推奨される方法は何ですか?
コードを参照してください:
google-maps-api-3 - Googleマップv3は情報ウィンドウのサイズを変更します
内部のコンテンツに合わせて情報ウィンドウのサイズを設定したいと思います。標準の情報ウィンドウが広すぎる maxWidth を使用しようとしましたが、うまくいかないようです。情報ウィンドウのサイズを変更する最良の方法は何ですか?
コードを参照してください:
バブルに表示される情報は次のようになります ( \n は次の行を意味します)
ニューヨーク \n合計 60 \n2009: 10 \n2010: 20 \n2011: 30
google-maps-api-3 - Google Maps API v3 - 別の InfoWindow が開いているときにマーカーをクリックすると、クリック イベントが発生しない
複数のマーカーが存在するセットアップがあり、クリックするとそれぞれが単一の InfoWindow にコンテンツをロードします。
残念ながら、別のウィンドウが開いているときにマーカーをクリックすると、マーカーのクリック イベントが発生しないようです。
これは奇妙な動作のようです。他の誰かがこれに当てはまることを発見しましたか?
ありがとう
以下の私のコード: