我目前有以下代码:
jQuery.each(json,function(index,value){
var id =json[index]["id"];
var location =json[index]["location"];
var tel =json[index]["tel"];
var lat=json[index]["lat"];
var lng=json[index]["lng"];
marker = new google.maps.Marker({
id:id,
position: new google.maps.LatLng (lat, lng),
icon: {
path: google.maps.SymbolPath.CIRCLE,
fillOpacity: 1,
fillColor: '#002664',
strokeWeight: 1,
strokeColor: '#FFFFFF',
scale: 5 //pixels
},
map: map
});
google.maps.event.addListener(marker, 'click', function() {
jQuery('.office-information').slideUp(300);
if(!jQuery('#office-info-'+id).is(':visible')){
jQuery('#office-info-'+id).slideDown(300);
}
});
google.maps.event.addListener(marker, 'click', function() {
});
jQuery('.get-direction').on('click', function(){
var markerID = this.id.replace( /[^\d.]/g,'');
console.log(marker);
});
});
问题领域是:
jQuery('.get-direction').on('click', function(){
var markerID = this.id.replace( /[^\d.]/g,'');
console.log(marker);
});
基本上,当我点击一个get-direction
类的链接时,我会抓住它的ID并除去其中的数字以外的所有内容,这就留下了标记ID。但是如何通过id获得标记?我实际上只需要标记的纬度和经度。
任何帮助都非常赞赏。
答案 0 :(得分:6)
您可以创建全局关联数组并将所有标记存储在那里。 例如。像这样
var arrMarkers = {};
jQuery.each(json,function(index,value){
...
marker = new google.maps.Marker({
...
});
arrMarkers[id] = marker;
...
jQuery('.get-direction').on('click', function(){
var markerID = this.id.replace( /[^\d.]/g,'');
console.log(arrMarkers[markerID]);
});
}