【发布时间】:2012-03-16 22:32:13
【问题描述】:
今天我的任务是第一次使用 Google API 创建地图。我在我的网站上设置地图没有问题,这很容易。但由于某种原因,我用 json 编码的观点没有出现。这是说我的 gmap 对象是未定义的。我真的可以在这里得到一些帮助,我整天都在看这个东西!!
function load () {
var map = document.getElementById("map");
if (GBrowserIsCompatible()) {
var gmap = new GMap2(map);
gmap.addControl( new GSmallMapControl() );
gmap.addControl( new GMapTypeControl()) ;
gmap.addControl( new GOverviewMapControl(new GSize(100,100)) );
gmap.setCenter( new GLatLng(42.3313889, -83.0458333), 7 );
} else {
alert("Sorry, your browser cannot handle the true power of Google Maps");
}
}
window.onload = load;
window.onunload = GUnload;
function createMarker(input) {
var marker = new GMarker(input.point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml( input.walkName + input.date + input.address );
});
return marker;
}
function parseJson (doc) {
var jsonData = eval("(" + doc + ")");
for (var i = 0; i < jsonData.markers.length; i++) {
var marker = createMarker(jsonData.markers[i]);
gmap.addOverlay(marker);
}
}
GDownloadUrl("points.json", function(data, responseCode) {
parseJson(data);
});
【问题讨论】:
-
页面上是否存在id为map的元素?
-
是的,地图显示正常。这里的问题是标记没有显示在 paarseJson 函数中的 addOverlay 函数中。
标签: javascript json google-api