我目前正在升级到Google Maps Geolocation API的“新”HTML5版本,但我遇到了一些问题。该功能在我的计算机上完美运行,但在Safari浏览器的手机上却无法运行。代码如下:
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var speed = position.coords.altitude;
var coords = new google.maps.LatLng(latitude, longitude);
alert(position.coords.speed);
var mapOptions = {
zoom: 15,
center: coords,
mapTypeControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.SMALL
},
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(
document.getElementById('weather-map'), mapOptions
);
var marker = new google.maps.Marker({
position: coords,
map: map
});
});
} else {
alert('Geolocation API stöds inte i din webbläsare');
}
如果我在alert()
之后设置了if(navigator.geolocation) {
并更新了我手机上的页面,则系统会显示提醒窗口,但是如果我移动alert()
并在{{1}之后设置它它不会显示。我已经测试了浏览器是否能够使用此API,而且它是。
如何解决此问题?
提前致谢。
答案 0 :(得分:0)
我搞定了! :)我错过了一些重要的行,如函数initialize()
和show_position(p)
,以通过Stan Wiechers" geo-location-javascript"来获得位置。