这里我有一个为用户显示地点的代码,但我想根据用户位置显示地点。
如何获取用户的位置并在地图上显示?
我有:
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script>
<script>
function initialize() {
var markers = [];
var map = new google.maps.Map(document.getElementById('map-canvas'), {
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var defaultBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(-33.8902, 151.1759),
new google.maps.LatLng(-33.8474, 151.2631));
map.fitBounds(defaultBounds); ... ... ... etc.
我尝试添加传感器:true,但它不起作用。
有什么方法可以解决这个问题吗?
答案 0 :(得分:3)
您可以尝试使用浏览器的内置地理定位服务(使用W3C地理定位标准)对您的用户进行地理位置定位,因此所有支持HTML5的浏览器都应支持此功能。
您可以在Google Maps JavaScript API v3文档中复制和粘贴代码,例如:https://developers.google.com/maps/documentation/javascript/examples/map-geolocation
(顺便提一下,传感器参数告诉Google您正在使用传感器来确定位置;它本身并不充当传感器。)
答案 1 :(得分:1)
包含此项以在当前坐标处找到地图中心:
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: 'Here you are.'
});
map.setCenter(pos);
});
}