我的智慧结束了。
我有一个包含地图的页面A(地图对象,名为“地图”,具有全局范围),还有一个打开子页面B的按钮。反过来,页面B有一个应该放置标记的按钮在页面A的地图上。链接到相关页面和概要,请按照:
页面A:http://friendsofhillforest.org/maps/HillForestTrailmap-v2-2-topo.html“管理我的标记”按钮在新窗口中打开第B页
Page B:http://friendsofhillforest.org/maps/tools/marker_mgmt2.html
当页面B按钮'Map Selected'尝试在页面A的地图上放置标记时,我收到错误'错误:属性的值无效:[object Object](main.js:1)'
以下是我的代码的概要,因此您不必浏览这些大型脚本:
第A页:
<body>
<input type="button" name="location" value="Manage My Markers" title="Manage My Markers" onClick="launchMarkerManager();">
...
<div id="map"></div>
<script type="text/javascript">
var map = null;
...
function launchMarkerManager() {
var newwindow = window.open('http://friendsofhillforest.org/maps/tools/marker_mgmt1.html','Hill Forest Marker Management Tool', document.height - 50, document.width - 50); newwindow.focus();
}
...
map = new google.maps.Map(document.getElementById('map'), {
...
});
</script>
</body>
Page B:
<body>
...
<input type="button" id="mapchecks" value="Map Selected" onclick="mapChecks(); />
...
<script type="text/javascript">
...
function mapChecks() {
//add the markers in the results list to the calling map window
var map = window.opener.map;
var markerFile = '../icons/numbermarkers/iconr25.png';
var thisMarker = new google.maps.Marker({
map: map,
...
});
map.setCenter(new google.maps.LatLng(36.5,-74.1));
}
...
</script>
</body>
我已经做了很多谷歌搜索和大量搜索Stack Overflow,但我似乎无法找到这个问题的另一个例子。谁能看到我做错了什么?非常感谢!
答案 0 :(得分:0)
我无法确切地告诉你问题是什么,但它必须由两个不同的文件引起。
当我将mapChecks功能(经过一些修改,例如删除第1行)转移到第A页并在第B页中调用opener.mapChecks()
时,它对我有用