Google地图HTML5无法在我的手机上运行(Safari浏览器)

时间:2012-04-05 21:15:49

标签: html5 google-maps

我目前正在升级到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,而且它是。

如何解决此问题?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我搞定了! :)我错过了一些重要的行,如函数initialize()show_position(p),以通过Stan Wiechers" geo-location-javascript"来获得位置。