Javascript 这里是使用HTML5地理定位的地图

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

我在使用HTML5地理定位API与HERE地图时遇到问题。首先,我制作了一份工作正常的测试文档:

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);
}