我目前正在升级到 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()
并设置它之后navigator.geolocation.getCurrentPosition(...
它不会显示。我已经测试了浏览器是否能够使用这个 API,并且确实如此。
我该如何解决这个问题?
提前致谢。