【发布时间】:2014-07-29 13:52:17
【问题描述】:
我正在尝试为页面上的表格中的每一行添加标记。页面是http://www.sravanks.com/first/2013ftcmap.php
这是加载标记的 JS 代码:
$(document).ready(function() {
var mapOptions = {
center: new google.maps.LatLng(39.740, -89.503),
zoom: 7
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
var infowindow = new google.maps.InfoWindow();
/* City Markers */
var cityCircle = new Array();
var i = 0;
$.each($('.events tr'), function(index, value) {
var name = $(this).find('td:first()').html();
var address = $(this).find('.address').html();
var linkUrl = "http://www.sravanks.com/first/geocode.php?address=" + address;
$.ajax({
url: linkUrl
}).done(function(data){
var json = $.parseJSON(data.substring(0, data.length-1));
lat = json.results[0].geometry.location.lat;
lng = json.results[0].geometry.location.lng;
var latlng = new google.maps.LatLng(lat, lng);
var marker = new google.maps.Marker({ position: latlng, map: map, icon: 'map-pointer-medium.gif' });
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(name);
infowindow.open(map, marker);
cityCircle[i] = new google.maps.Circle({strokeColor: '#00FF00', strokeOpacity: 0.8, strokeWeight: 2, fillColor: '#00FF00', fillOpacity: 0.35, map: map, center: latlng, radius: 144841});
i++;
});
});
});
/*Team Markers*/
var markers = {};
var teamName, teamNumber, lat, lng, content;
$.each($('.list tr'), function(index, value) {
teamName = $(this).find('td.name').html();
teamNumber = $(this).find('td.number').html();
markers[teamNumber] = {};
lat = parseFloat($(this).find('td.lat').html());
lng = parseFloat($(this).find('td.lng').html());
content = "Name: " + teamName + "<br />Number: " + teamNumber;
markers[teamNumber]['latlng'] = new google.maps.LatLng(lat, lng);
markers[teamNumber]['marker'] = new google.maps.Marker({ position: markers[teamNumber]['latlng'], map: map });
google.maps.event.addListener(markers[teamNumber]['marker'], 'click', function() {
infowindow.setContent(content);
infowindow.open(map, markers[teamNumber]['marker']);
});
});
google.maps.event.addListener(infowindow, 'closeclick', function() {
for(var i=0;i<cityCircle.length;i++){
cityCircle[i].setMap(null);
}
});
});
我没有错误,但团队标记没有显示。奇怪的是,城市标记确实出现了。
更多信息,City Markers ajax 调用只是针对调用 google geocoding api 的代理。再次链接在http://www.sravanks.com/first/2013ftcmap.php
【问题讨论】:
标签: javascript php google-maps google-maps-api-3