Javascript 这里是使用HTML5地理定位的地图
我在使用HTML5地理定位API与HERE地图时遇到问题。首先,我制作了一份工作正常的测试文档:Javascript 这里是使用HTML5地理定位的地图,javascript,html,geolocation,maps,Javascript,Html,Geolocation,Maps,我在使用HTML5地理定位API与HERE地图时遇到问题。首先,我制作了一份工作正常的测试文档: var test = document.getElementById('test'); var coords = navigator.geolocation.getCurrentPosition(success); function success(position) { test.innerHTML = 'Latitude: ' + position.coords.latitude
var test = document.getElementById('test');
var coords = navigator.geolocation.getCurrentPosition(success);
function success(position) {
test.innerHTML = 'Latitude: ' + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
我看不出有什么不对。据说,HTML5地理定位是受支持的
谢谢你的帮助 您的问题是您的
success
函数中有一个局部变量:
function success(position) {
var location = ...
}
只有该函数才能使用该变量。因此,当您尝试在setView
函数中再次使用它时,它将不知道它是什么
function setView(map) {
map.setCenter(location);
相反,您需要做的是将location
设置为全局变量,或者将其作为参数传递到setView
函数中。e、 g
var location;
function success(position) {
location = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
}
function setView(map) {
map.setCenter(location);
map.setZoom(12);
}
(而且location
不需要创建为字符串,所以我稍微修改了一下)
我看不出您从哪里调用
setView
了?谢谢您的帮助!初始化div容器中的映射后,将调用setView
。它将地图置于给定坐标的中心。对不起。这是我在这里的第一个问题,我试图在提问时满足所有要求。
var location;
function success(position) {
location = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
}
function setView(map) {
map.setCenter(location);
map.setZoom(12);
}