我正在将google maps api从v2升级到v3。由于某种原因,我的地图将无法加载。我通过api和其他一些位置跟踪代码大纲。
这是我的代码:我正确地放置了变量吗?任何帮助?地图可在Casadragones
找到var marker;
function load() {
//get $result from browserdetect.php
//if (GBrowserIsCompatible()) {
// *** if (is_browser_compatible()){ ***
geocoder = new google.maps.Geocoder();
//geocoder = new GClientGeocoder();
var mapOptions = {
zoom: 2,
center: new google.maps.LatLng(40.513799, -35.375977),
mapTypeControl: true,
panControl: true;
zoomControl: true;
mapTypeId: google.maps.MapTypeId.ROADMAP
}
mapobj = new google.maps.Map(document.getElementById('map'), mapOptions);
/*
mapobj = new GMap2(document.getElementById('map'));
mapobj.addControl(new GLargeMapControl3D());
mapobj.addControl(new GMapTypeControl());
//mapobj.setCenter(new GLatLng(28.728149, -88.992889),3); // old
mapobj.setCenter(new GLatLng(40.513799, -35.375977), 2); // center in Atlantic in order to show US and UK
*/
// Change this depending on the name of your PHP file
/*GDownloadUrl("<? bloginfo('template_url'); ?>/phpsqlsearch_genxml.php", function(data) {
var xml = GXml.parse(data);*/
downloadUrl("<? bloginfo('template_url'); ?>/phpsqlsearch_genxml.php", function(data) {
var xml = parseXml(data);
var markers = xml.documentElement.getElementsByTagName('marker');
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var city = markers[i].getAttribute("city");
var state = markers[i].getAttribute("state");
var zipcode = markers[i].getAttribute("zipcode");
var phone = markers[i].getAttribute("phone");
var pairing = markers[i].getAttribute("pairing");
var type = markers[i].getAttribute("type");
var point = new google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
//var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
// parseFloat(markers[i].getAttribute("lng")));
marker = createMarker(point, name, address, city, state, zipcode, phone, type);
marker.setMap(mapobj);
//mapobj.addOverlay(marker);
}
});
//}
}
dom事件和其他一切都在其他地方。我认为这是最麻烦的代码。
答案 0 :(得分:1)
您的地图未加载,因为您的代码都没有运行。仔细看看这些内容:
var mapOptions = {
zoom: 2,
center: new google.maps.LatLng(40.513799, -35.375977),
mapTypeControl: true,
panControl: true;
zoomControl: true;
mapTypeId: google.maps.MapTypeId.ROADMAP
}
你看到了问题吗?如果没有,请在任何浏览器中打开Chrome中的开发者工具或类似的开发者工具,然后加载您的页面。您应该收到指向问题的错误消息。
本身不是错误,但在此对象中关闭;
后也应该有}
。
此外,您在某些变量上遗漏了var
声明:mapobj
和geocoder
。此外,var marker
不属于此功能之外;把它移到里面。
您使用什么编辑器编辑代码?我建议使用实时语法检查的编辑器,例如Komodo Edit,Komodo IDE或IntelliJ IDEA。当我将代码粘贴到Komodo IDE中时,会立即在语法错误上添加波浪形的红色下划线。