質問するログイン新規登録

回答編集履歴

1

情報の追加。

2016/12/22 06:11

投稿

kei344
kei344

スコア69643

answer CHANGED
@@ -1,1 +1,36 @@
1
- `onEachFeature` 内で `markers.push(layer);` してリンク先のように処理してみればよいのでは?
1
+ `onEachFeature` 内で `markers.push(layer);` してリンク先のように処理してみればよいのでは?
2
+
3
+
4
+ ---
5
+
6
+ **追記:**
7
+
8
+ ```JavaScript
9
+ var markers = [];
10
+ $.getJSON( "/geo_json" ).done( function( data ) {
11
+ var geojson = L.geoJson( data, {
12
+ onEachFeature: function ( feature, layer ) {
13
+ layer.bindPopup( feature.properties.popupContent );
14
+ },
15
+ pointToLayer: function (feature, latlng) {
16
+ var m = L.marker( latlng, { title : feature.properties.popupContent } );
17
+ markers.push( m );
18
+ return m;
19
+ }
20
+ });
21
+ geojson.addTo( map );
22
+
23
+ function markerFunction( id ) {
24
+ for ( var i in markers ) {
25
+ var markerID = markers[i].options.title;
26
+ if ( markerID == id ) {
27
+ markers[i].openPopup();
28
+ }
29
+ }
30
+ }
31
+ $("a").click(function(){
32
+ markerFunction( $( this )[0].id );
33
+ });
34
+
35
+ });
36
+ ```