-1

このマップがロードされたときに情報ウィンドウが自動的に開くようにします。ここで非常に細かい答えを適用しようとしています。唯一の違いは、ポリゴンではなくマーカーのクリックをトリガーしていることです。私はしばらくコードを見つめていじっていましたが、そのクリックをトリガーすることはできません。私は何が欠けていますか?

ありがとう、ドリュー

この簡素化されたバージョンでは、目印が 1 つある KML ファイルを使用しています。event.trigger に関連するコードは 33 行目にあります。

<!DOCTYPE html>
<html>
<head>
    <title>Simple Map</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <style>
        html, body, #map-canvas {
            height: 100%;
            margin: 0px;
            padding: 0px
        }
    </style>
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    <script src="http://geoxml3.googlecode.com/svn/branches/polys/geoxml3.js"></script>
    <script src="http://geoxml3.googlecode.com/svn/trunk/ProjectedOverlay.js"></script>
    <script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDDFrP7MSD1ieFEvaF95BRlwHa0S72Fy1s&sensor=FALSE"></script>
    <script>

        function initialize() {
            var mapOptions = {
                zoom: 6,
                center: new google.maps.LatLng(47.606209, -122.332069)
            };
            var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions );

            var blues = new geoXML3.parser({map: map, zoom: false});
            blues.parse('allbluesdance_seattle.kml');

            google.maps.event.addListenerOnce(map, 'idle', function(){
                alert("Clicking now.");
                google.maps.event.trigger(geoXml.docs[0].placemarks[0].marker,'click')
            });

        }

        google.maps.event.addDomListener(window, 'load', initialize);

    </script>
</head>
<body>
    <div id="map-canvas"></div>
</body>
</html>
4

1 に答える 1

0

コードに JavaScript エラーがあります: Uncaught ReferenceError: geoXml is not defined(geoXml が定義されていないため)。bluesそれはあなたのコードにあるはずです。

    function initialize() {
        var mapOptions = {
            zoom: 6,
            center: new google.maps.LatLng(47.606209, -122.332069)
        };
        var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

        var blues = new geoXML3.parser({
            map: map,
            zoom: false
        });
        blues.parse('allbluesdance_seattle.kml');

        google.maps.event.addListenerOnce(map, 'idle', function () {
            alert("Clicking now.");
            google.maps.event.trigger(blues.docs[0].placemarks[0].marker, 'click');
        });

    }

    google.maps.event.addDomListener(window, 'load', initialize);

ワーキングフィドル

于 2014-07-18T22:50:25.487 に答える