0

我目前正在升级到 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,并且确实如此。

我该如何解决这个问题?

提前致谢。

4

1 回答 1

0

我让它工作了!:) 我错过了一些重要的行,比如函数initialize()show_position(p)通过 Stan Wiechers “ geo-location-javascript ”获得位置。

于 2012-04-06T03:04:37.737 回答