0
我试图从数据库创建标记。我通过将数据库结果输出到json并在谷歌地图代码中加载json来做到这一点。 JSON有效且正在加载。从JSON创建标记时出现问题
我的全谷歌地图代码:
google.load("maps", "2");
// make a json request to get the map data from the Map action
$(function() {
if (google.maps.BrowserIsCompatible()) {
$.getJSON("/GoogleMaps/Map", initialise);
}
});
function initialise(mapData) {
var map = new google.maps.Map2($("#map")[0]);
map.addControl(new google.maps.SmallMapControl());
map.addControl(new google.maps.MapTypeControl());
map.setMapType(G_SATELLITE_MAP);
var latlng = new google.maps.LatLng(52.370, 4.893);
var zoom = 8;
map.setCenter(latlng, zoom);
map.setCenter(latlng, zoom);
$.each(mapData.locations, function(i, location) {
setupLocationMarker(map, location);
});
}
function setupLocationMarker(map, location) {
console.debug(location.LatLng);
var latlng = new google.maps.LatLng(location.LatLng);
var marker = new google.maps.Marker(latlng);
map.addOverlay(marker);
}
的JSON:
{
"locations": [
{
"Id": 1,
"Name": null,
"LatLng": "52.368, 4.806",
},
{
"Id": 2,
"Name": null,
"LatLng": "52.333, 4.839",
},
我用尽调试Firebug的,但我没有错误。坐标似乎加载得很好。但是只有1个标记出现,并且该标记实际上并不附加到它看起来的任何坐标(如果缩小它并不公平)。此外,地图在这一点上非常缓慢。有谁知道如何解决这个问题?
没有什么改变:(我也试过谷歌地图v3 api,但这给了我同样的问题,除了地图保持快速,它不显示任何标记。 – Prd 2010-09-16 13:02:32
有什么好运气? – mcgrailm 2010-09-16 16:31:29
没有抱歉,问题是坐标是作为一个字符串传递的,它应该是一个数字。我将字符串转换为数字,现在一切正常。 – Prd 2010-09-17 13:18:40