部署后,GetcurrentPosition不起作用

时间:2016-05-12 16:40:43

标签: javascript html google-maps google-app-engine

我正在尝试初始化一个居中的地图,并在当前用户的位置上使用标记。在本地一切都很好,但是当我将html页面部署到Google Appengine时,它只显示没有地理定位的地图......我哪里错了? 谢谢!

var marker;
  function initAutocomplete() {
    var map = new google.maps.Map(document.getElementById('map'), {
      center: {lat: 44.415, lng: 10.374},
      zoom: 13,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function (position) {
            initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
            map.setCenter(initialLocation);
            marker = new google.maps.Marker({
                icon: 'http://maps.google.com/mapfiles/ms/icons/green-dot.png',
                map: map,
                draggable: true,
                animation: google.maps.Animation.DROP,
                position: {lat: position.coords.latitude, lng: position.coords.longitude}
              });
              marker.addListener('click', toggleBounce);
        });


        }

1 个答案:

答案 0 :(得分:2)

Chrome不再支持不安全来源的地理位置。如果要使用地理位置,则必须使用HTTPS://。

在控制台中查看消息:

  在不安全的起源上不推荐使用

getCurrentPosition()和watchPosition()。要使用此功能,您应该考虑将应用程序切换到安全的来源,例如HTTPS。有关详细信息,请参阅https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins