-1
私は、アコーディオン要素をクリックしたときに特定のマップマーカーを表示しようとしていて、他のマーカーが存在する場合は非表示にします。jQueryのクリックイベントでマップマーカーを置き換える方法は?
私はこれで私のマーカーを構築しています:私はこれでsetMarkers関数に渡されるデータの交互てい
function setMarkers(data) {
var items, markers_data = [];
if (data.length > 0) {
items = data;
j = 0;
for (var i = 0; i < items.length; i++) {
var item = items[i];
j++
lat_long = ('"' + item.martygeocoderlatlng + '"');
lat_long = lat_long.replace(/\(|\)/g, '');
lat_long = lat_long.split(',');
lat = lat_long[0].replace('"', '');
lng = lat_long[1].replace('"', '');
marker_id = item.id;
if (lat != undefined && lng != undefined) {
var icon = 'community.png';
markers_data.push({
lat: lat,
lng: lng,
id: marker_id,
title: item.title.rendered,
infoWindow: {
content: '<div class="infoWindow"><h3>' + item.title.rendered + '</h3>' + item.content.rendered + '<strong>Phone:</strong> <a target="_blank" href="tel:' + item.aoi_phone + '">' + item.aoi_phone + '</a><!--<br><strong>Hours:</strong> ' + item.aoi_hours + '--><br><a href="' + item.aoi_url + '">Visit Website</a></div>'
},
icon: {
url: '/wp-content/plugins/lstar-custom/assets/img/list_marker_' + j + ".png",
//anchor:new google.maps.Point(scaledSize/4,scaledSize/4),
size: new google.maps.Size(25, 25)
},
animation: google.maps.Animation.DROP,
});
}
}
}
// console.log(markers_data);
map.addMarkers(markers_data);
}
:
jQuery('#poi_cat_amusementattractions').one('click', function(e) {
var xhr_cat_amuse = jQuery.getJSON('path/to/json');
xhr_cat_amuse.done(setMarkers);
});
jQuery('#poi_cat_dining').one('click', function(e) {
var xhr_cat_dine = jQuery.getJSON('path/to/json');
xhr_cat_dine.done(setMarkers);
});
マップ上のマーカーをもたらすために動作しますが、要素をクリックすると、既存のマーカーを削除するにはどうすればよいですか?
また、このプラグインをgmapsに使用しています。 https://hpneo.github.io/gmaps/
関数 'addMarkers'は、[標準機能](https://developers.google.com/ではありませんマップ/ドキュメント/ javascript /マーカー)のAPIマップを使用しているので、もしあなたがそれを自分で書いたのであれば、あるいはそのライブラリを使っているなら、この関数が正確に何をしているのかを知らなければ助けにならないでしょう。 – Dekel
@Dekel申し訳ありませんこのツールを使用しています。https://hpneo.github.io/gmaps/ –
答えが見つかりましたか? – Dekel