Autor | Zpráva | ||
---|---|---|---|
TomasRe Profil |
Zdravím všechny. Chtěl bych poprosit, zda by mi někdo mohl poradit se scriptem (v javascriptu bohužel téměř vůbec neumím) v Google mapách. V následujícím kódu bych potřeboval upravit
1. odkaz nyní funguje na základě pořadí, což nebude fungovat, pokud vypíšu pouze určitou část odkazů. Pokud bych měl atribut v souboru data.xml, šlo by upravit, aby hodnota "i" pro odkaz nebyla dle pořadí, ale podle tohoto atributu (např. idp)? 2. lze upravit ikony poloh, aby byly vlastní (myšleno dvě různé podle dalšího atributu v souboru data.xml? - např. icon) Moc děkuji za jakoukoliv pomoc. <style>#layout {width:950px;margin:10px auto;text-align:left;}</style> <script type="text/javascript" src="http://www.google.com/jsapi?key=API_key"></script> <script type="text/javascript"> google.load("maps", "2.x"); var global_markers = new Array(); var map; function createMarker(point, content, cap) { var opt = new Object(); opt.title = cap; var marker = new GMarker(point, opt); GEvent.addListener(marker, "click", function() { map.setCenter(point, 15); marker.openInfoWindowHtml(content); }); return marker; } function initialize() { map = new google.maps.Map2(document.getElementById("map")); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.addControl(new GOverviewMapControl()); map.setCenter(new GLatLng(50.08380233140971, 14.431915283203125), 13); GDownloadUrl("data.xml", function(data, responseCode) { var xml = GXml.parse(data); var s; var hotels = xml.documentElement.getElementsByTagName("hotel"); for (var i = 0; i < hotels.length; i++) { var point = new GLatLng(parseFloat(hotels[i].getAttribute("lat")), parseFloat(hotels[i].getAttribute("lng"))); s = "<h1>" + hotels[i].getAttribute("label") + "</h1><img src='"+hotels[i].getAttribute("image")+"' alt='"+hotels[i].getAttribute("label")+"' width='190'><br><a href='"+hotels[i].getAttribute("url")+"' target='_blank'>detail »</a>"; var marker = createMarker(point, s, hotels[i].getAttribute("label")); global_markers [global_markers.length] = marker; map.addOverlay(marker); } }); } google.setOnLoadCallback(initialize); </script> <body onLoad="initialize()" onUnload="GUnload()"> <div id="layout"> <div id="map" style="width: 600px; height: 600px;float:right"></div> <p><a href="#" onClick="GEvent.trigger(global_markers[0], 'click');">hotel 1 »</a><br> <a href="#" onClick="GEvent.trigger(global_markers[1], 'click');">hotel 2 »</a><br> <a href="#" onClick="GEvent.trigger(global_markers[2], 'click');">hotel 3 »</a></p> </div> </body> Soubor data.xml pak vypadá takto: <?xml version="1.0" encoding="UTF-8"?> <hotels> <hotel lat="50.087615" lng="14.423633" label="Hotel U Zlatého jelena" image="u-zlateho-jelena.jpg" url="http://www.hotel-u-zlateho-jelena.cz/cz-index.php" idp="9" icon="1"/> <hotel lat="50.07082360418433" lng="14.442579746246338" label="Pension Beetle" image="pension-beetle.jpg" url="http://www.pension-beetle.cz/cz-index.php" idp="10" icon="1"/> <hotel lat="50.08458" lng="14.416553" label="Hotel U Červené Židle" image="u-cervene-zidle.jpg" url="http://www.beetle-tour.cz/cz-red-chair-pension.php" idp="11" icon="2"/> </hotels> |
||
Časová prodleva: 6 let
|
0