我在这里尝试了一些例子,但是无法让html5地理位置坐标起作用。 如果我硬编码坐标它工作正常。
var infowindow;
var map;
function initialize() {
var latlng = new google.maps.LatLng(53.3452572,-6.2648937);
map = new google.maps.Map(document.getElementById("map-canvas"), {
center: latlng,
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP,
});
var request = {
location: latlng,
radius: 500000,
types: ['pet_shop','pet_store']
};
但如果我尝试使用以下内容,我会收到错误ReferenceError:position未定义。我在这里错过了什么或做错了什么?
lat = position.coords.latitude;
long = position.coords.longitude;
var latlong = new google.maps.LatLng(lat, long);
答案 0 :(得分:1)
应该使用watchPosition or getCurrentPosition来获取回调中的位置。这是来自MDN页面的similar example
function initialize() {
navigator.geolocation.getCurrentPosition(function(position) {
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
map = new google.maps.Map(document.getElementById("map-canvas"), {
center: latlng,
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP,
});
});