我希望能够将这个javascript文件中的'custCenter'对象传递给另一个。我已经使它成为一个全局变量,但我不确定如何从另一个javascript文件访问它:
var map = null;
var markers = [];
var custCenter = {};
function initMap()
{
var startingCenter = { lat: 49.22, lng: -122.66 };
custCenter = { lat: 49.22, lng: -122.66 };
map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: custCenter,
mapTypeId: 'terrain'
});
// This event listener will call addMarker() when the map is clicked.
map.addListener('click', function (event) {
var myLatLng = event.latLng;
deleteMarkers();
addMarker(myLatLng);
window.lat = myLatLng.lat();
window.lng = myLatLng.lng();
alert(window.lat + ', ' + window.lng);
});
// Adds a marker at the center of the map.
addMarker(custCenter);
}
// Adds a marker to the map and push to the array.
function addMarker(location)
{
var marker = new google.maps.Marker({
position: location,
map: map
});
markers.push(marker);
}
// Sets the map on all markers in the array.
function setMapOnAll(map) {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(map);
}
}
// Deletes all markers in the array by removing references to them.
function deleteMarkers() {
clearMarkers();
markers = [];
}
这是我正在制作的应用程序,以帮助人们找到他们丢失的宠物。 custCenter对象是用户点击谷歌地图的lat和lng,我想传递给另一个使用谷歌地图链接到html的JS文件。如果您希望看到以下应用:http://alainwebdesign.ca/pl2/tom/getlocation.html
答案 0 :(得分:0)
确保您的第二个脚本标记包含在此标记之后,以便可以访问它所依赖的custCenter
变量。
答案 1 :(得分:0)
问题是您正在更改页面,该页面将清除上一页设置的所有变量(页面之间没有内存)。要将值传递到其他页面,您需要使用本地或会话存储或cookie,您在第一页上设置值
sessionStorage.setItem("custCenter", JSON.stringify(custCenter))
然后在第二页的开头加载它
custCenter = JSON.parse(sessionStorage.getItem("custCenter"))