我正在尝试初始化一个居中的地图,并在当前用户的位置上使用标记。在本地一切都很好,但是当我将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);
});
}
答案 0 :(得分:2)
Chrome不再支持不安全来源的地理位置。如果要使用地理位置,则必须使用HTTPS://。
在控制台中查看消息:
在不安全的起源上不推荐使用getCurrentPosition()和watchPosition()。要使用此功能,您应该考虑将应用程序切换到安全的来源,例如HTTPS。有关详细信息,请参阅https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins。