繁体   English   中英

全局变量和访问对象属性

[英]Global Variables and Accessing Object Attributes

我正在尝试做两件事,我不能自己做其中一件事。 我想在函数中使用全局变量。 我想改变所述全局变量中的一些属性。

按钮触发'getLocation',触发'storePosition',触发'mapScreen',触发'moveMapToInitialPoint'。

我正在使用这里的地图API,我正在尝试获取用户位置并围绕它设置地图。

对于问题1,我尝试在函数内部移动变量,但是,我将在整个函数中多次使用此变量。 我还尝试添加'global。','this。'和'globalthis'。 在变量之前。 它真的很混乱,因为我的下一个函数能够很好地访问全局变量。

对于问题2,我尝试使用'initialPoint [lat]',但它说无法找到lat。 我还尝试创建一个新对象,其属性设置为位置对象。

我也尝试了文档上的说明以及其他堆栈问题,但它不起作用。

function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(storePosition);
  } else {
    alert("Geolocation is not supported by this browser.")
  }
}

initialPoint = {lat:39.9522, lng:-75.1932};
function storePosition(position) {
  initialPoint.lat = position.coords.latitude;
  initialPoint.lng = position.coords.longitude;
  mapScreen();
}

function moveMapToInitialPoint(map){
  map.setCenter(initialPoint);
  map.setZoom(14);
}

moveMapToInitialPoint(map);

我只是希望地图围绕用户旋转,但它要么显示整个世界,因为点被打破,或者它显示默认位置。

initialPoint = {lat:39.9522, lng:-75.1932};

navigator.geolocation.getCurrentPosition(callback, calldown);
function callback(position) {
  initialPoint.lat = position.coords.latitude;
  initialPoint.lng = position.coords.longitude;
  moveMapToInitialPoint(map);
}

function calldown() {
  moveMapToInitialPoint(map);
}

function moveMapToInitialPoint(map){
  map.setCenter(initialPoint);
  map.setZoom(14);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM