【发布时间】:2012-01-29 23:49:55
【问题描述】:
尝试使用来自 DB 的 PHP 输出的 JSON 输出的 Google Maps API V3 绘制多个标记。
地图在页面上被初始化,但是它没有填充标记。浏览器警告“资源解释为其他,但传输的 MIME 类型未定义。”?
请提供进一步故障排除/调试的建议。
<!-- load points from database into Locations JSON -->
$(document).ready(function () {
$.getJSON("map-service.php?action=listpoints", function(json) {
if (json.Locations.length > 0) {
for (i=0; i<json.Locations.length; i++) {
var location = json.Locations[i];
addMarker(location);
}
}
});
function addMarker(location) {
var point = new google.maps.LatLng(location.lat, location.lng);
var marker = new google.maps.Marker({
position:point,
map: map,
title: location.name
});
};
});
经过验证的来自 map-service.php?action=listpoints 的 JSON 输出示例
{"Locations":[{"name":"Abco Mountain","lat":"49.424999","lng":"-125.855003"},{"name":"Adder Peak","lat":"49.248333","lng":"-125.320000"},{"name":"Alexandra Peak","lat":"49.738110","lng":"-125.489998"},{"name":"Argus Mountain","lat":"49.538612","lng":"-125.389999"},{"name":"Big Baldy Mountain","lat":"49.759998","lng":"-126.129997"}]}
【问题讨论】:
-
使用 firebug 并确保您得到正确的 json 响应。
-
MySQL 和这个有什么关系?
-
感谢@Diode ...我使用link 进行验证。我还使用 alert() 函数确认了 location.lat、location.lng 和 location.name 的值。
标签: javascript jquery json google-maps-api-3 google-maps-markers