Autor | Zpráva | ||
---|---|---|---|
alibagil Profil |
#1 · Zasláno: 11. 10. 2018, 12:39:44
Zdravím, potřeboval bych poradit.
Na stránkách jsem zprovoznil google mapy, pomocí tohoto kódu: developers.google.com/maps/documentation/javascript/examples/marker-clustering Všechno funguje, jen bych teď potřeboval data, tedy souřadnice lat a lng nenačítat z pole locations, ale z externího xml souboru, který si připravím, resp. který se bude následně generovat z dat v databázi. A za boha nemůžu přijít na to, jak to udělat :-( Poradil by někdo? |
||
blaaablaaa Profil |
#2 · Zasláno: 11. 10. 2018, 12:50:17
alibagil:
Ajaxem si natáhneš xml, vytvoříš markery a předáš do clustereru stejně jako teď. |
||
alibagil Profil |
#3 · Zasláno: 11. 10. 2018, 13:13:06
Díky moc za odpověď. Myslíš, že bys mě mohl alespoň nějak navést, ukázat konkrétně jak na to? Protože já se to snažím od rána udělal, přečetl jsem hromadu různých návodů, ale konkrétně do toho kódu z odkazu se mi to nedaří dostat.
Zprovoznil jsem něco takového: www.webucator.com/how-to/how-read-xml-files-with-the-google-maps-api.cfm Ale tam zase nemůžu dostat ten clustering :-( |
||
blaaablaaa Profil |
#4 · Zasláno: 12. 10. 2018, 07:35:00
alibagil:
Ukaž, co máš a dáme to dokupy. Když vycházím z toho odkazu, tak tam si stačí před for vytvořit pole var markers = [];, v cyklu nahradit var marker = new xxx; ... za markers.push(new xxx...); Za cyklus pak vytvoříš markerCluster stejně jako dosud. |
||
alibagil Profil |
blaaablaaa:
Díky moc. Už jsem to včera nakonec dal nějak do kupy, v podstatě podobně, jak navrhuješ, jenom jsem tam ještě následně přihodil kód pro InfoWindow. Dávám to sem k dispozici, kdyby někdo bojoval s něčím podobným. $.ajax({ type: 'GET', async: true, url: 'seznam.xml', dataType: 'xml', success: function(xml) { var markers = []; var i = 0; var infowindow = new google.maps.InfoWindow(); $(xml).find('place').each(function(){ var content = $(this).find('content').text(); var latLng = new google.maps.LatLng($(this).find('lat').text(), $(this).find('lng').text()); var marker = new google.maps.Marker({ position: latLng }); markers.push(marker); google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() { infowindow.setContent(content); infowindow.open(map, marker); } })(marker, i)); i++; }); var markerCluster = new MarkerClusterer(map, markers, { imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m' }); } }); |
||
blaaablaaa Profil |
#6 · Zasláno: 12. 10. 2018, 12:22:09
alibagil:
Ten markerCluster dej az za cyklus |
||
alibagil Profil |
#7 · Zasláno: 12. 10. 2018, 12:42:03
blaaablaaa:
Je za cyklem, jenom závorka nebyla na úrovni začátku cyklu, upraveno. |
||
Časová prodleva: 5 let
|
0