Javascript 谷歌地图标记为链接 api v3
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/5837345/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
google maps marker as link api v3
提问by gidzior
how to add links to the markers to open new pages with target="_self", i found some examples but i dont know how to use it in my code, do help me pls
如何添加指向标记的链接以使用 target="_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>
does the first marker should look like this ?? where to put url ??
第一个标记应该是这样的吗??在哪里放网址?
function 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;
});
}
this is my code and it dosent work
这是我的代码,它不工作
<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>
回答by Dve
You could do something like this.
你可以做这样的事情。
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;
});
Code untested... just thinking out loud!
代码未经测试......只是大声思考!
To fit it in with your existing code...
为了适应您现有的代码...
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;
});
}
The main thing to note is the markervariable is referenced again in the addListener function.
需要注意的主要事情是在 addListener 函数中再次引用了标记变量。
dodajMarker({position: new google.maps.LatLng(57.951087,16.55972), icon: ikona6, shadow: cien1, url:'http://www.google.com'});