我是谷歌地图新手,只是加载谷歌地图以获取当前位置,但navigator.geolocation.getCurrentPosition()
抛出错误(
即。 getCurrentPosition()不再处理不安全的连接
)。
我的代码如下:
function initialize() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (p) {
var sMap = null;
var marker = null;
sMap = new GMaps({
div: '#regestration-map',
zoom: 13,
lat: p.coords.latitude,
lng: p.coords.longitude ,
//center: center,
scrollwheel: false ,
styles: [ {stylers: [ { "saturation":-100 }, { "lightness": 0 }, { "gamma": 1 } ]}]
});
marker = sMap.addMarker({
lat: p.coords.latitude,
lng: p.coords.longitude ,
map :sMap,
icon : map_marker,
title: "<div style = 'height:60px;width:200px'><b>Your location:</b><br />Latitude: " + p.coords.latitude + "<br />Longitude: " + p.coords.longitude
});
sMap.addListener('click',function(e){
marker.setPosition(e.latLng);
marker.title = "<div style = 'height:60px;width:200px'><b>Your location:</b><br />Latitude: " + e.latLng.lat() + "<br />Longitude: " + e.latLng.lng()
});
marker.addListener('click',function(e){
var infoWindow = new google.maps.InfoWindow();
infoWindow.setContent(marker.title);
infoWindow.open(sMap, marker);
});
});
}else {
alert('Geo Location feature is not supported in this browser.');
}
}
我在UAT环境中上传代码并且连接不安全意味着出于演示目的,没有任何SSL层。
是否有任何解决方法可以通过HTTP连接获取当前的纬度和经度?
答案 0 :(得分:2)
来自谷歌文档 https://developers.google.com/maps/documentation/javascript/tutorial
HTTPS或HTTP
我们认为网络安全非常重要,而且 建议尽可能使用HTTPS。作为我们努力的一部分 为了让网络更安全,我们制作了所有的Maps JavaScript API 可通过HTTPS获得。使用HTTPS加密可以使您的网站更多 安全,更能抵御窥探或篡改。
我们建议您使用HTTPS通过HTTPS加载Maps JavaScript API 上面提供的标签。
如果需要,您可以通过HTTP加载Maps JavaScript API 请求http://maps.googleapis.com/或http://maps.google.cn 中国的用户。