/ / Włączanie target = _ 'rodzic' w Google Fusion Map infowindow za pomocą odbiornika kliknięć - html, google-maps, google-maps-api-3, Google-fusion-table

Włączanie obiektu docelowego = _ "nadrzędny" w infosie Google Fusion Map za pomocą narzędzia do nasłuchiwania - html, google-maps, google-maps-api-3, google-fusion-tables

Jestem całkiem nowym użytkownikiem Google Fusion, ale chętnie się uczę. Stworzyłem mapę, dostosowałem infowindow i osadziłem mapę na mojej stronie za pomocą Kreatora FusionTablesLayer, aby utworzyć skrypt do hostowania na tej samej domenie. Robiąc to w ten sposób, mogę to zrobić za pomocą target = _parent dla moich łączy w infowindow zamiast zawsze irytującego polecenia target = _blank. Od tamtej pory dowiedziałem się, że ze względu na bezpieczeństwo musisz dodać listener do kliknięcia, aby móc działać trget = _parent, i to jest właśnie tam, gdzie moje umiejętności się zatrzymują. Czy ktokolwiek może mi pomóc włączyć słuchacza, skonfigurować infowindow i najważniejsze ze wszystkich, uzyskać działający cel = _parent.

Oto kod, mam nadzieję, że możesz go użyć.

Infowindow:

<div class="googft-info-window" style="font-family:Georgia, sans-serif" "width: 250px;" >
<base target="_parent" />
<b><a href="{info-URL} " ">{Skole}</a></b></b><br>
<i>Åbner i ny fane/nyt vindue</i><br><br>
{Adresse}<br><br>
<b>Elevtal:</b> {Elevtal}<br>
<b>Rang 2010/2011:</b> {Rangering til kort}/107<br><br>
<b>Gennemsnit 2010/2011</b><br>
<b>Dansk:</b> {Dansk total}<br>
<b>Engelsk:</b> {Engelsk total}<br>
<b>Fysik/kemi:</b> {Fysik/kemi total}<br>
<b>Matematik:</b> {Matematik total}<br><br>
<b>Samlet gennemsnit:</b> {Skolegennemsnit}<br><br>
{NOTE}<br><br>
<a href="{Skole-URL}" target=_blank>Hjemmeside</a>
</div>

Kod Kreatora FusionTablesLayer

<!DOCTYPE html>
<html>
<head>
<base target="_parent" />
<style>
#map-canvas { width:700px; height:400px; }
</style>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
var map;
var layerl0;
function initialize() {
map = new google.maps.Map(document.getElementById("map-canvas"), {
center: new google.maps.LatLng(57.17199198214385, 9.771527295703208),
zoom: 8
});
var style = [
{
featureType: "all",
elementType: "all",
stylers: [
{ saturation: 9 }
]
}
];
var styledMapType = new google.maps.StyledMapType(style, {
map: map,
name: "Styled Map"
});
map.mapTypes.set("map-style", styledMapType);
map.setMapTypeId("map-style");
layerl0 = new google.maps.FusionTablesLayer({
query: {
select: ""col2"",
from: "table-id"
},
map: map,
styleId: -1,
templateId: 1
});
}
google.maps.event.addDomListener(window, "load", initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>

Mapa jest online na stronie www.skoleguide.net teraz i inspiracja, aby dodać słuchacza kliknięć, dostałem od tutaj

Naprawdę mam nadzieję, że ktoś może mi pomóc

Jens Skriver Steffensen

Odpowiedzi:

1 dla odpowiedzi № 1

Aby dodać „target = _parent” do wcześniej istniejącej zawartości z FusionTables, coś takiego powinno działać:

var newContent = e.infoWindowHtml.replace("/<a /<a target="_parent" /g");

Dodajesz kliknięcie, słuchaj FusionTable za pomocą google.maps.addListener metoda

Coś takiego powinno działać:

  //add a click listener to the layer
google.maps.event.addListener(layer10, "click", function(e) {
//update the content of the InfoWindow
var newContent = e.infoWindowHtml.replace("/<a /<a target="_parent" /g");
infowindow.setOptions({
content: newContent,
pixelOffset: e.pixelOffset,
position: e.latLng
});
infowindow.open(map);
});

Pamiętaj, aby wyłączyć domyślne infowindows, dodając opcję „suppressInfoWindows: true” do konstruktora FusionTablesLayer.

Przykład roboczy