[英]How Do I access a variable inside a variable inside a function in Javascript?
我需要通過單擊按鈕將x分配給lat對象來更改地圖函數內部的center值。 但是,我似乎無法弄清楚如何從我的alertFunction中分配map.center.lat = 43.138428。 本質上,我在問如何從另一個函數引用一個對象,一個對象內部,一個函數內部。 我在Rails內部工作。
<script>
//function to update my center
function alertFunction() {
var x = document.getElementById("myInput").value;
initMap();
**Wrong Code**
**// map.center.lat = 43.138428;**
};
//function to start map
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center:{lat: 41.138428, lng:-85.140239},
});
您的initMap
函數應該返回一些值,或者您可以使用參數來設置.lat
// the latter
function alertFunction() {
var x = document.getElementById("myInput").value;
initMap(43.138428);
// ^ pass latitude value
};
//function to start map
function initMap(latitude) {
// ^ parameter
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center:{lat: latitude, lng:-85.140239},
// ^ from parameter
});
}
// the former
function alertFunction() {
var x = document.getElementById("myInput").value;
var map = initMap();
// ^ initMap returns the map
map.center.lat = 43.138428;
};
//function to start map
function initMap(latitude) {
return new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center:{lat: latitude, lng:-85.140239},
});
}
<script>
//function to update my center
function alertFunction() {
var x = document.getElementById("myInput").value;
var map = initMap();
**Wrong Code**
**// map.center.lat = 43.138428;**
};
//function to start map
function initMap() {
return map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center:{lat: 41.138428, lng:-85.140239},
});
重新運行地圖,否則您必須使用全局變量。
他們在Google Maps文檔中顯示它-您需要在函數外部聲明“ map”變量,否則其他函數將無法訪問該變量。
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
}
</script>
這樣,您的initMap()會在initMap函數外部更改變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.