Javascript 谷歌地图标记为链接api v3

Javascript 谷歌地图标记为链接api v3,javascript,google-maps-api-3,Javascript,Google Maps Api 3,如何添加指向标记的链接以打开带有target=“\u self”的新页面,我找到了一些示例,但我不知道如何在我的代码中使用它,请帮助我 <script type="text/javascript"> var mapa; // obiekt globalny function dodajMarker(opcjeMarkera) { opcjeMarkera.map = ma

如何添加指向标记的链接以打开带有target=“\u self”的新页面,我找到了一些示例,但我不知道如何在我的代码中使用它,请帮助我

<script type="text/javascript">   

            var mapa; // obiekt globalny

            function dodajMarker(opcjeMarkera)
            {
                opcjeMarkera.map = mapa;
                var marker = new google.maps.Marker(opcjeMarkera);
            }

            function mapaStart()  
            {  
                var wspolrzedne = new google.maps.LatLng(58.699776,16.984863);
                var opcjeMapy = {
                    zoom: 6,
                    center: wspolrzedne,
                    mapTypeId: google.maps.MapTypeId.TERRAIN,
                    disableDefaultUI: true,
                    navigationControl: true, // kontrolka nawigacji
    navigationControlOptions:
    {
        style: google.maps.NavigationControlStyle.SMALL 
    }
                };
                mapa = new google.maps.Map(document.getElementById("mapka"), opcjeMapy);

                // wspólne cechy ikon
                var rozmiar = new google.maps.Size(32,32);
                var rozmiar_cien = new google.maps.Size(59,32);
                var punkt_startowy = new google.maps.Point(0,0);
                var punkt_zaczepienia = new google.maps.Point(16,16);

                // ikonki
                var ikona1 = new google.maps.MarkerImage("markers/marker1.png", rozmiar, punkt_startowy, punkt_zaczepienia);
                var ikona2 = new google.maps.MarkerImage("markers/marker2.png", rozmiar, punkt_startowy, punkt_zaczepienia);
                var ikona3 = new google.maps.MarkerImage("markers/marker3.png", rozmiar, punkt_startowy, punkt_zaczepienia);
                var ikona4 = new google.maps.MarkerImage("markers/marker4.png", rozmiar, punkt_startowy, punkt_zaczepienia);
                var ikona5 = new google.maps.MarkerImage("markers/marker5.png", rozmiar, punkt_startowy, punkt_zaczepienia);
                var ikona6 = new google.maps.MarkerImage("markers/marker6.png", rozmiar, punkt_startowy, punkt_zaczepienia);


                var cien1 = new google.maps.MarkerImage("http://www.google.com/intl/en_ALL/mapfiles/shadow50.png", rozmiar_cien, punkt_startowy, punkt_zaczepienia);

                dodajMarker({position: new google.maps.LatLng(58.203148,16.601637), icon: ikona1, shadow: cien1});
                dodajMarker({position: new google.maps.LatLng(58.3902,16.7202),  icon: ikona2, shadow: cien1});
                dodajMarker({position: new google.maps.LatLng(58.566667,15.166667),  icon: ikona3, shadow: cien1});
                dodajMarker({position: new google.maps.LatLng(58.488553,16.928773), icon: ikona4, shadow: cien1 });
                dodajMarker({position: new google.maps.LatLng(57.899804,16.408064),  icon: ikona5, shadow: cien1});
                dodajMarker({position: new google.maps.LatLng(57.951087,16.55972),  icon: ikona6, shadow: cien1});
                }



        </script> 
这是我的代码,它不工作

<script type="text/javascript">   
        <!-- 
            var mapa; // obiekt globalny

            function dodajMarker(opcjeMarkera)
            {
                opcjeMarkera.map = mapa;
                var marker = new google.maps.Marker(opcjeMarkera);
            }

            function mapaStart()  
            {  
                var wspolrzedne = new google.maps.LatLng(58.699776,16.984863);
                var opcjeMapy = {
                    zoom: 6,
                    center: wspolrzedne,
                    mapTypeId: google.maps.MapTypeId.TERRAIN,
                    disableDefaultUI: true,
                    navigationControl: true, // kontrolka nawigacji
    navigationControlOptions:
    {
        style: google.maps.NavigationControlStyle.SMALL 
    }
                };
                mapa = new google.maps.Map(document.getElementById("mapka"), opcjeMapy);

                // wspólne cechy ikon
                var rozmiar = new google.maps.Size(32,32);
                var rozmiar_cien = new google.maps.Size(59,32);
                var punkt_startowy = new google.maps.Point(0,0);
                var punkt_zaczepienia = new google.maps.Point(16,16);

                // ikonki
                var ikona1 = new google.maps.MarkerImage("markers/marker1.png", rozmiar, punkt_startowy, punkt_zaczepienia);
                var ikona2 = new google.maps.MarkerImage("markers/marker2.png", rozmiar, punkt_startowy, punkt_zaczepienia);
                var ikona3 = new google.maps.MarkerImage("markers/marker3.png", rozmiar, punkt_startowy, punkt_zaczepienia);
                var ikona4 = new google.maps.MarkerImage("markers/marker4.png", rozmiar, punkt_startowy, punkt_zaczepienia);
                var ikona5 = new google.maps.MarkerImage("markers/marker5.png", rozmiar, punkt_startowy, punkt_zaczepienia);
                var ikona6 = new google.maps.MarkerImage("markers/marker6.png", rozmiar, punkt_startowy, punkt_zaczepienia);


                var cien1 = new google.maps.MarkerImage("http://www.google.com/intl/en_ALL/mapfiles/shadow50.png", rozmiar_cien, punkt_startowy, punkt_zaczepienia);

                dodajMarker({position: new google.maps.LatLng(58.203148,16.601637), icon: ikona1, shadow: cien1, url:'http://www.google.com'});
                dodajMarker({position: new google.maps.LatLng(58.3902,16.7202),  icon: ikona2, shadow: cien1, url:'http://www.google.com'});
                dodajMarker({position: new google.maps.LatLng(58.566667,15.166667),  icon: ikona3, shadow: cien1, url:'http://www.google.com'});
                dodajMarker({position: new google.maps.LatLng(58.488553,16.928773), icon: ikona4, shadow: cien1, url:'http://www.google.com' });
                dodajMarker({position: new google.maps.LatLng(57.899804,16.408064),  icon: ikona5, shadow: cien1, url:'http://www.google.com'});
                dodajMarker({position: new google.maps.LatLng(57.951087,16.55972),  icon: ikona6, shadow: cien1, url:'http://www.google.com'});
                }
        -->
        </script>

您可以这样做

var marker = new google.maps.Marker({
  url: 'http://www.google.com/',
  map: map
});

google.maps.event.addListener(marker, 'click', function() {
  window.location.href = marker.url;
});
代码未经测试。。。只是大声思考

要使其与现有代码相适应

        function dodajMarker(opcjeMarkera)
        {
            opcjeMarkera.map = mapa;
            var marker = new google.maps.Marker(opcjeMarkera);
            google.maps.event.addListener(marker, 'click', function() {
                window.location.href = marker.url;
            });

        }
需要注意的主要问题是,标记变量在addListener函数中再次被引用

dodajMarker({position: new google.maps.LatLng(57.951087,16.55972),  icon: ikona6, shadow: cien1, url:'http://www.google.com'});

我很早就找到了这个解决方案,但我不知道如何将它与我的代码结合起来,我尝试了没有效果的函数dodajMarker({position:new google.maps.LatLng(58.203148,16.601637),icon:ikona1,shadow:cien1}){opcjeMarkera.map=mapa;var marker=new google.maps.marker({position:new google.maps.LatLng(58.203148,16.601637),icon:ikona1,shadow:cien1});google.maps.event.addListener(marker,'click',function(){window.location.href=marker.url;});}“我不知道如何在这个f注释框中编写代码,但如果你能读到,第一个标记应该是这样的吗?”??在哪里写url?为什么不在原始问题中添加此细节。。。它会更容易阅读好吧,我明白了,我不得不带着它睡觉,我工作得很好,THX很多我相信这在你只有一个标记的情况下是有效的,因为函数将使用附加到标记对象的
url
值,到那时,这将是你制作的最后一个标记对象。如果将eventListener函数中的变量
marker
替换为
this
,则它将使用附加到调用其事件的标记的
url
dodajMarker({position: new google.maps.LatLng(57.951087,16.55972),  icon: ikona6, shadow: cien1, url:'http://www.google.com'});