Я пытаюсь создать маркеры из базы данных. Я делаю это, выводя результаты DB в json и загружая json в код Google Maps. JSON действителен и загружается.
Мой полный код карт Google:
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 маркер, и этот маркер на самом деле не привязан ни к каким координатам, как кажется (если вы уменьшите масштаб, он не отрегулируется) Также карта очень медленная на данный момент. Кто-нибудь знает как это решить?