请帮忙。尝试创建芝加哥地图,并将我当前已知的位置显示为该地图上的标记。问题是(尽管我在任何教程或文档中都没有明确提及这一点),看来我必须marker
在与(也许就在之后?)相同的范围内声明 var 我声明了 map---global variables don' t 似乎工作。这很困难,因为我正在进行异步调用,因此position
在我定义的回调函数中只验证了我的标记。因此以下代码不起作用...
(function() {
var chicago = new google.maps.LatLng(41.87811, -87.62980);
var info = document.getElementById("info");
var map;
function showError(error)
{
info.innerHTML += "Error: " + error.message;
}
function getLocation(position)
{
current_location = new google.maps.LatLng(
position.coords.latitude, position.coords.longitude);
var marker = new google.maps.Marker({
position: current_location,
map: map
});
}
window.onload = function() {
var mapOptions = {
zoom: 10,
center: chicago,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(getLocation, showError);
}
}
})();
我看不出有什么干净的出路,但很想以其他方式展示。