我的Google地圖顯示正確,同時地圖的居中也像魅力一樣。但是當我想添加一些標記(只是標記,不想重新加載整個地圖)沒有任何反應(地圖上沒有可見的標記)。通過Ajax加載的Google地圖標記未顯示
我的劇本是這樣的:
function g_maps(){
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(48.2136522, 16.386172),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
}
function g_maps_marker(coordinates){
var locations = [ coordinates ];
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map,
visible: true
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
}
我的Ajax請求的(重要)的部分看起來像這樣:
...
success:function(data){
$('#pagination_content table').empty();
data = $.parseJSON(data);
i = 1;
coordinates = "";
for(var i in data.results) {
$('#content_table').append("blablabla");
coordinates += "['" + data.results[i].title + "', " + data.results[i].lat + ", " + data.results[i].lat + ", " + i++ + "], ";
};
coordinates = coordinates.slice(0, -2)
g_maps_marker(coordinates);
},
...
的coordinates
輸出是這樣的:
['abc', 48.1857442, 48.1857442, 0], ['xyz', 48.2136522, 48.2136522, 1]
函數g_maps
在document.ready()
前夕被調用NT。
我正在使用API v3。
我切片我的座標輸出,因爲我想擺脫最後的字符 - >「,」 –
是的好。但'slice'總是返回一個數組,所以不需要'var locations = [coordinates];'。它會在另一個數組中創建一個沒有意義的數組,對嗎? :-) –
好的,我把這行改成'var locations = coordinates;'但沒有任何變化:/ –