PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Google Maps, HTML im TextNode möglich?



mamue
27-12-2006, 17:30
Hallo,
ich habe eine Google Map auf meiner Webseite, in der ich mit createTextNode einen Marker darstelle. Ist es möglich, den Text in diesem Marker zu formatieren? Einfach "<h1>Super!</h1>" geht nicht, es werden dann auch die Tags als Text angezeigt.

Danke,
mamue

jeebee
27-12-2006, 21:46
direkt im textNode ist kein HTML möglich, du müsstest wenn schon einen h1 node um den Text-Node herum erstellen.

mamue
28-12-2006, 10:50
direkt im textNode ist kein HTML möglich, du müsstest wenn schon einen h1 node um den Text-Node herum erstellen.

Tja, wie ich Anfänger jetzt lernen musste, heisst es nicht aus Versehen "createTextNode" und nicht "createHTMLNode".
Ein h1 um das Textnode herum bringt hier nicht viel, da ich natürlich auch noch andere Dinge dort gerne hätte (img, br, ..). Wenn ich das wirklich möchte, brauche ich wohl createElement.
Edit:
Man kann das in etwa wie folgt machen:


Es geht um die kleinen "Infoblasen", die man auf Google-Maps anzeigen lassen kann:
if( GBrowserIsCompatible() ) {
var map = new GMap2( document.getElementById( "map" ) );
map.addControl( new GSmallMapControl() );
map.addControl( new GMapTypeControl() );
map.setCenter( new GLatLng( 53.378, 7.21 ), 11 );
window.setTimeout( function() {
map.setZoom( 14 );
}, 1500 );
map.openInfoWindow( new GLatLng( 53.38486, 7.2067 ),
createHtmlElement() ); //ein DIV wird hier eingefügt
} //if compatible

function createHtmlElement() {
var divElem = document.createElement( "div" );
var headLine = document.createTextNode( "Irgendwelcher Text" );
var subText1 = document.createTextNode( "Weltweites Wissen & Ko KG" );
var headElem = document.createElement( "strong" );
var lineBreakElem = document.createElement( "br" );
headElem.appendChild( headLine );
divElem.appendChild( headElem );
divElem.appendChild( lineBreakElem );
divElem.appendChild( subText1 );
return divElem;
}

Soweit ich das verstanden habe, sollte man nicht auf innerHTML zurückgreifen.

Danke,
mamue

j(ay)son
30-12-2006, 21:08
Hallo!

GMarker hat die Methode openInfoWindowHtml.

Ich habe hier mal schnell was zusammen programmiert:


<html>

<head>
<title>Google Maps</title>

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA-EKYkg8Q_8RdVpTLRogETRT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQ xpguqNBAwm3wVjCJC3jmHQx5SLw" type="text/javascript"></script>
<script type="text/javascript">
function load () {

if (GBrowserIsCompatible ()) {

var map = new GMap2 (document.getElementById ("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);

var marker = new GMarker (new GLatLng(37.4419, -122.1419));
GEvent.addListener (marker, "click", function () {
marker.openInfoWindowHtml ("<h1>Hello</h1>");
});

map.addOverlay (marker);
}

}
</script>
</head>

<body onload="load ()">

<div id="map" style="width:500px;height:300px;"></div>

</body>
</html>

MfG Jay

mamue
30-12-2006, 21:54
Super! Das ist natürlich erheblich kürzer!
Danke!

mamue