問題タブ [markerspiderfier]

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 投票する
1 に答える
6636 参照

javascript - Googlemaps api v3にSpiderfierを追加するには?

私はグーグルマップが初めてです。Overlapping Marker Spiderfierのドキュメントは既に読みましたが、マップに実装する方法についてまだ混乱しています。

これが私の試みです:

このコードはjsfiddleにあります。

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

javascript - Google Maps Spiderfier の実装

https://github.com/jawj/OverlappingMarkerSpiderfierを実装して、まったく同じ場所に発生する可能性のある複数のマップ マーカーを処理しようとしています。以下の JavaScript を使用して、クラス .marker の div からマップ データを取得し、マップを作成しています。それは機能しており、うまく機能しています。

ただし、持っているものを Spiderfier js と統合しようとすると、マップ マーカーが表示されません。これは、js をマージしようとして申し訳ありません。Spiderfier を使用しながら、.marker div からコンテンツを取得する方法について何か考えはありますか?

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

google-maps - Google マップ Spiderfier、setmap(null) 後にマップが応答しない

マップを静的に保つためにマップをロードする関数があります。

次に、別の関数を使用して Spiderfier データを構築します。

もう1つは、マップからマーカーを削除します:

私の地図データ (mapData) は、php スクリプトから取得され、Jason 経由で渡されます。また、スパイダー (マップ) 関数を呼び出す直前に削除関数を呼び出す場所でもあります。これは、新しいデータを渡す前にマップをクリアするために行います。

さて、私の問題は、すべてのデータが完全に表示されていることですが、delMe() 関数を呼び出した後、マーカーが 100% クリアされますが、マップが応答しなくなり、新しいデータで Spider() 関数を呼び出すときに新しいデータが読み込まれません。

マップを再読み込み/作成することでこの問題を解決できますが、それを避けて静的マップのみを使用したいと考えています。マーカーを削除しないと、古いものと新しいものが混在する数百のマーカーでマップが埋め尽くされるだけです。

私は、javascript/jquery に関しては少し初心者ですが、どんな助けでも大歓迎です!.

0 投票する
3 に答える
5544 参照

google-maps - 同じ位置に複数のマーカーがある場合の重複マーカー Spiderfier マーカー アイコン

Google マップには、同じ場所にある複数のマーカーを分割する方法はありません。これは、アパートの建物や専門サービスの建物など、複数の居住場所にいる人や企業で発生する可能性があります。ズーム レベルによっては、ショッピング モールなどでも発生する可能性があります。

それを回避する方法は、それらを「スパイダー化」することです。最初にクリックすると、その場所への線でそれらが分割されます。これは Google Earth で行われ、George MacKerron は Google Maps でそれを行うためのパッケージを書きました。( https://github.com/jawj/OverlappingMarkerSpiderfier )

これは、markerclusterer と統合できますが、marker clusterer によるマーカーのバッチ作成はサポートしていません。

私の問題は、私が取り組んでいるアプリケーションが、さまざまな種類のアクティビティに対して特定のアイコンを持ちたいということです。Spiderfier はマーカーの 1 つを上に置きます。マップを見ている人は、一番上のマーカーの下に 10 個以上のマーカーがある可能性があることを知る方法がありません。

理想的には、markercluster に別のアイコンに似た複数のマーカーがある場合に表示されるトップ マーカーを配置する方法があるでしょう。Spiderfier は、それらが近くにあるが正確に同じ場所 (デフォルトは 20 ピクセル) にない場合にも機能し、markercluster には正確に同じ場所にある複数のマーカーにアクセスするための準備がないため、直接の 1 対 1 ではありません。

理想的な動作は、クリックするとスパイダー化された個々のアイコンに割り込む、スパイダー用の特別なアイコンを持つことです。markerclusterer に似ていますが、ズームの変更がなく、同じ場所を処理します。特別なアイコンは、理想的には、markerclusterer のように、その場所にある他のマーカーの数を示します。特別なアイコンは非表示にするか、Spiderfied グループの一部にすることができます。

一部の宿泊施設がなければ、ユーザーはその場所に複数のアクティビティがあることを知る方法がありません。別のアクティビティ マーカーが表示されているため、必要なアクティビティがその場所にないと想定することさえあります。

これは問題のあるプランカーです: http://plnkr.co/edit/vimZNq?p=info

ご協力いただきありがとうございます、

デビッド

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

google-maps-markers - 重複マーカーSpiderfier + MarkerWithLabel

オーバーラップ マーカー SpiderfierおよびMarkerWithLabelで Google Maps JavaScript API v3 を使用すると、spiderfying 時に悪影響があります。最初のマーカーを除いて、すべてのマーカーは Spiderfy を実行した後、すぐに元の位置に戻ります ( unspiderfy 経由ではありません)。

つまり、Spiderfying の後に、Marker イベントposition_changedがさらに 1 回トリガーされます。n - 1n

ここに画像の説明を入力

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

javascript - Marker Clusterer Plus はクリックでクラスタを削除します

私はこのツールを使用しています

http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclustererplus/

正確な場所または非常に近い場所にあるマーカーのクラスタリング用 ( gridSize: 5)

私がやりたいことは、クリック時にクラスター(すべてではなく、1つだけ)を削除し、マーカーをspiderfyで削除することです

https://github.com/jawj/OverlappingMarkerSpiderfier

これはできますか?

Marker clusterer を参照して、特定のクラスターを削除する関数/メソッドが見つかりませんでした。

事前にt​​hx。

0 投票する
2 に答える
1595 参照

javascript - OverlappingMarkerSpiderfier マーカーのオフセット長

背景
Google マップを clustermarkererplus と一緒に使用して、マップ上にさまざまなマーカータイプを情報バブルで表示します。座標がまったく同じ (または非常に近い) マーカーを処理するために、OverlappingMarkerSpiderfier (OMS) を使用してオーバーラップするマーカーのオフセットが生成されます。これに対する答えを探しても、これまでオフセットラインの太さを調整することしかできませんでした。

問題
多くのマーカーがある場合、OMS によって指定されたオフセットが小さすぎます。

質問

  • オフセット(脚の長さ)を大きくするにはどうすればよいですか?
  • OMS によって分離されたマーカーの数が特定の値を超えているかどうかに依存できますか?

例(効果を示すため)
やりたいことの可視化、オフセット(脚の長さ)を増やす

OMS のコード
ドキュメントは、https ://github.com/jawj/OverlappingMarkerSpiderfier で入手できます。 //Options I use
options = {keepSpiderfied:true};

//Creation of the OMS
new OverlappingMarkerSpiderfier(map, options);

//Click listener
oms.addListener('click', function(marker, event) {
//Code for showing infowindows
});

//Adding marker
oms.addMarker(marker);