无法获取子页面以在开启者页面中将标记放在地图上

时间:2012-09-11 01:43:15

标签: google-maps-api-3

我的智慧结束了。

我有一个包含地图的页面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,但我似乎无法找到这个问题的另一个例子。谁能看到我做错了什么?非常感谢!

1 个答案:

答案 0 :(得分:0)

我无法确切地告诉你问题是什么,但它必须由两个不同的文件引起。

当我将mapChecks功能(经过一些修改,例如删除第1行)转移到第A页并在第B页中调用opener.mapChecks()时,它对我有用