我正在使用Google Maps API v3 Geolocation来获取用户的实际位置。我从谷歌开发者那里找到了这篇帖子:
https://developers.google.com/maps/documentation/javascript/examples/map-geolocation
这里是我的代码(相当于Google Maps示例的代码):
<head>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=true"></script>
<script>
// Note: This example requires that you consent to location sharing when
// prompted by your browser. If you see a blank space instead of the map, this
// is probably because you have denied permission for location sharing.
var map;
function initialize() {
var mapOptions = {
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
// Try HTML5 geolocation
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = new google.maps.LatLng(position.coords.latitude,
position.coords.longitude);
var infowindow = new google.maps.InfoWindow({
map: map,
position: pos,
content: 'Location found using HTML5.'
});
map.setCenter(pos);
}, function() {
handleNoGeolocation(true);
});
} else {
// Browser doesn't support Geolocation
handleNoGeolocation(false);
}
}
function handleNoGeolocation(errorFlag) {
if (errorFlag) {
var content = 'Error: The Geolocation service failed.';
} else {
var content = 'Error: Your browser doesn\'t support geolocation.';
}
var options = {
map: map,
position: new google.maps.LatLng(60, 105),
content: content
};
var infowindow = new google.maps.InfoWindow(options);
map.setCenter(options.position);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="container">
<div class="entry-content">
<div class="blogtitle">IT</div><p> </p></td><td> </td><td><p> </p></td></tr></tbody></table><p> </p>
<div id="map-canvas"></div><!-- map-canvas end -->
</div><!-- entry-content end -->
</div><!-- container end -->
</body>
这在Firefox中工作得很好,但在Google Chrome&Safari中就不行了。我想是因为Chrome和Safari都是webkit浏览器。但我不知道怎么修。
有人能帮帮我吗?
尝试使用HTML5地理定位API,而不是谷歌地图的一个浏览器,你有问题。
你可以在这里找到参考资料
主要内容:定位用户的位置,浏览器支持,HTML5 - 使用地理定位,实例,处理错误和拒绝,实例,在地图中显示结果,实例,给定位置的信息,getCurrentPosition() 方法 - 返回数据,Geolocation 对象 - 其他有趣的方法,实例HTML5 Geolocation(地理定位)用于定位用户的位置。 定位用户的位置 HTML5 Geolocation API 用于获得用户的地理位置。 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。 浏览器支持 Inte
我使用OrientDB的非关系型数据库,我不知道如何查询地理位置准确。 OrientDB函数 但不理解价值观的意义。 距离函数: distance()-使用Haversine算法计算地球上两点之间的距离。坐标必须为度 例: 其中距离(x,y,52.20472,0.14056) 两个问题: X,Y和30个值是多少 谢谢
HTML5 Geolocation(地理定位)用于定位用户的位置。 定位用户的位置 HTML5 Geolocation API 用于获得用户的地理位置。 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。 浏览器支持 Internet Explorer 9+, Firefox, Chrome, Safari 和 Opera 支持Geolocation(地理定位). 注意: G
我有一个带有地理定位插件的cordova应用程序:https://github.com/apache/cordova-plugin-geolocation 我的很多用户报告说,我的应用程序中的地理定位速度很慢(他们所说的慢大约是6秒)。他们说当我们使用Waze时,需要2秒钟。。。 我在SO上也发现了这篇帖子:为什么HTML5地理定位比Android上的原生版本慢? 我已经在使用Cordova人行横
我在iOS ;7上运行良好的应用程序不能在iOS ;8 SDK上运行。 没有返回位置,而且我也没有在“设置”->“位置服务”下看到我的应用程序。我在谷歌上搜索了这个问题,但什么也没有找到。会有什么问题吗?
地理定位是HTML5中新增的API特性,它允许JavaScript程序向浏览器询问用户真实的地理位置。识别地理位置的一些应用就可以使用它来显示地图、导航和其它一些与用户当前位置有关的信息。当然,考虑到用户的隐私,支持地理定位API的浏览器在JavaScript程序获取用户物理位置前总是会询问用户是否允许获取当前位置。 navigator.geolocation 支持地理位置API的浏览器会定义 n