問題タブ [geoxml3]

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.

0 投票する
6 に答える
1634 参照

javascript - Google Maps API & geoxml 3 - クリックで目印にズーム/地図上の目印を中央に配置

更新されたスクリプト - クリックとズーム/センター

まだ正しくありません。最初のクリックで infoWindow put がズーム/中央に表示されません

XML:

こんにちは、Google Maps API と geoxml3 を使用してカスタム マップを作成しようとしています。マップをセットアップし、外部の KML.xml ファイルから読み込まれた目印のリストを含むカスタム サイドバーを追加することができました。

サイドバーから、または地図自体で目印をクリックすると、目印が自動的に中央に表示され、ズームインされるようにしたいと考えています。

これまでに持っているHTMLとスクリプトは次のとおりです。

HTML:

脚本:

どんな助けでも大歓迎です。

0 投票する
1 に答える
82 参照

javascript - ページのリロード後に Javascript のみがオブジェクト プロパティにアクセスする

私のコードにはかなり奇妙な問題があります。kml ファイルを解析するために geoxml3 を使用しています。すべてのポリラインを正常に解析しますが、マーカーに到達すると、コンソールにはundefined. 奇妙な点は、ページをリロードするたびに正常に動作するのに、新しいタブで開くたびに再び壊れることです。さらに奇妙なことに、条件の前に右を置いて、console.logそれがポリラインかマーカーかを確認すると、ブラウザーのコンソールにmarkerプロパティがあることが示されます。

geoxml3 が必要とする useTheData 関数は次のとおりです。

0 投票する
1 に答える
267 参照

javascript - 別のサイトで使用すると KMZ レイヤーが表示されない

そのため、Web サイトに KMZ レイヤーが表示されていますが、他の場所には表示されません。これは私のJavascriptです:

park2.kmz レイヤーは、xampp を使用した 127.0.0.1/localhost やhttp://example.com/test/map.htmlなどでは表示されません。ただし、 http://example.com/map.htmlには表示されます。何か案は?

0 投票する
0 に答える
283 参照

google-maps - Google マップの KML でカスタム アイコンが消えた

税関のアイコンは Google マップ (KML ファイルを使用) で機能していましたが、消えてしまいました。関連する stackoverflow の投稿を読みましたが、まだ使用していないため<color/> 、マップで何ができますか?

ここでサンプルページを見ることができ、スクリプトは次のとおりです。

0 投票する
1 に答える
1012 参照

javascript - geoxml3 を使用して KMZ または KML ファイルの境界を取得する方法は?

私のプロジェクトでは、約 600 以上の kmz/kml ファイルを含むディレクトリから複数の kmz ファイルをロードしています。ユーザーがマップを移動し、ボタンをクリックして関連する kmz ファイルをロードすると、最大 5 つのファイルがロードされます。カバーされる領域が広すぎないように、ズームが十分に大きいことを確認するためのチェックがあります。

関連する kmz/kml ファイルをロードするには、kmz/kml からの目印がビューポート内に部分的にでも収まる場合、ファイルがロードされるという考え方です。これらの kmz/kml ファイルをすばやく読み込むために、次の手順を考えました。

ステップ 1:各 kmz/kml ファイルの境界を個別に抽出し、ファイルに保存します。map.getBounds()ビューポートの境界を取得する方法、および kmz 内の特定のポリゴンを取得する方法を知っていますgeoXmlDoc.placemarks[i].polygon.bounds。しかし、すべてのポイント、ライン、ポリゴンを含む kmz ファイル全体の境界を取得する方法はありますか?

すべての kmz/kml ファイルの境界を含む境界ファイルを生成するには、この手順を 1 回だけ実行する必要があることを理解しています。ループを介して各ファイルを個別にロードし、ビューポートの getBounds を呼び出してみましたが、残念ながらビューポートは kmz の境界に正確には適合しません。通常、ビューポートは大きくなります。

ステップ 2:ユーザーがマップを新しい場所に移動し、関連する kmz ファイルの読み込みをクリックすると、ビューポートの境界が kmz 境界のいずれかと交差するかどうか、統合された境界配列のみがチェックされます。

0 投票する
1 に答える
1576 参照

javascript - .kml ファイルからの目印を含む Google マップ ポリゴン (geoxml3 と kmllayer を使用)

ポリゴン レイヤーと Placemarks レイヤーを同じマップに取り込もうとしています。

ただし、geoxml3 パーサーを使用して .kml ファイルから Polygon レイヤーをロードした後。

いくつかの Placemarks レイヤーをロードしようとしましたが、成功しましたが、Placemarks は Polygons の下にあるようです。

オンラインで検索して、解析後にのみレイヤーをロードするという提案を試みましたが、うまくいきませんでした。kmllayer で zIndex も試しましたが、うまくいきません。

目印をポリゴンの上に表示するにはどうすればよいですか?

私のコードの短い部分を以下に示します。

0 投票する
1 に答える
850 参照

javascript - 更新時に古い geoxml3 レイヤーを削除する

Web ページに Google マップがあり、geoxml3 を使用してレイヤーを解析しています (多くの目印付き)。

新しい .kml ファイルをプルするために 10 秒ごとに jquery をトリガーするタイマーがあります。ただし、新しいレイヤーを解析する前に、古いレイヤーを削除したいと思います。

質問:削除/破棄する正しい方法は何ですか?

があることは知っていますがgeoXml.hideDocument();、それはレイヤーを非表示にするだけで、レイヤーを削除/破棄しませんか? (以下は hideDocument() の実装です)

refreshMap() - 前のレイヤーを非表示にして新しいレイヤーを表示

これは機能しますが、10 秒ごとにデータを取得し続けると、ページが 1 時間開かれると遅延が発生するのではないかと心配です。理由は、オーバーレイが実際には破棄/削除されていないためです。それらはまだメモリ上にあり、それへの参照を失っているだけです (現在、新しいレイヤーへの参照ポイントのため)。

アップデート

オンラインでいくつかの情報を見つけましたが、この実装について心配する必要はないようです。

「Javascript はガベージ コレクションであるため、オブジェクト自体を削除する必要はありません。オブジェクトを参照する方法がなくなった時点で削除されます。」