» Poradna » Zpět na dotaz

Skript na export souřadnic z google maps do souboru

Martin2487  |  20. 11. 2016 4:36:42  |  Odpovědí: 0

Ahoj potřeboval bych pomoci s jedním skriptem. Pointa je v zásadě jednoduchá, potřebují aby souřadnice značky(markeru) na google mapě byly po kliknutí na export, přeneseny do souboru s příponou .inst(bez problémů lze otevřít v Poznámkové bloku) a měly definovanou strukturu. Export definovaného kódu do souboru funguje ale nemohu tam dostat ty souřadnice. Podotýkám, že tak jak je to nyní napsáno to již fungovalo ale poté se něco na google maps změnilo a ty souřadnice to již nepřenese. API key je aktuální. Soubor index.html <!DOCTYPE html> <html> <head> <title>Command Modern Air/Naval Warfare: Import Designer</title> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8"> <style> html, body, #map-canvas { height: 100%; margin: 0px; padding: 0px } #panel { position: absolute; top: 5px; left: 50%; margin-left: -180px; z-index: 5; background-color: #fff; padding: 5px; border: 1px solid #999; } </style> <link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCZNB0PuDbFBssuDwgytGoPdNOULlqANA0"></script> <script src="data.json"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <script src="impmaker.js"></script> </head> <body> <div id="panel"> <p> Import name <input id="mapName" type="text"> <a href="" id="export" download="generated.inst">Export</a> Grouped <input id="grouped" type="checkbox"> </p><p> <select onChange="javascript:currtitle=dbid.options[ dbid.options.selectedIndex ].text;" id="dbid"></select> </p> </div> <div id="welcome"></div> <div id="map-canvas"></div> </body> </html> Soubor impmaker.js var map; var markers = []; var infowindows = []; var currtitle = "Generic marker"; function initialize() { map = new google.maps.Map(document.getElementById('map-canvas'), { zoom: 2, center: {lat: 0, lng: 0} }); google.maps.event.addListener(map, 'click', function(event) { var marker = new google.maps.Marker({ id: guid(), dbid: dbid.value, position: event.latLng, map: map, draggable: true, title: currtitle, type: currtitle }); m = markers.push(marker) - 1; var contentString = '<div id="content">' + '<div id="siteNotice">' + '</div>' + '<h2 id="firstHeading" class="firstHeading">' + markers[m].type + '</h2>' + '<div id="bodyContent">' + '<p><b>Name</b> <input onChange="javascript:markers[m].title=unitName' + m + '.value;" type="text" id="unitName' + m + '" value="' + markers[m].title + '" size="45"></p>' + '</p>' + '</div>' + '</div>'; var infowindow = new google.maps.InfoWindow({ content: contentString }); n = infowindows.push(infowindow); google.maps.event.addListener(marker, 'click', function() { infowindow.open(map,marker); }); google.maps.event.addListener(marker, 'dblclick', function() { marker.setMap(null); markers.splice(markers.indexOf(marker)); }); }); } function guid() { function s4() { return Math.floor((1 + Math.random()) * 0x10000) .toString(16) .substring(1); } return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); } function genExport() { var inst = { DB_ID: 1, ValidFrom: "", ValidUntil: "", Name: mapName.value, Comments: "Generated by https://georgehedfors.github.io", FormatVersion: 0, MemberRecords: [] }; var parent = null; if (grouped.checked) { parent = mapName.value; } for (var i in markers) { var member = { HostedAircraftRecords: [], Orientation: 0.0, LoadoutID: 0, Member_DBID: Number(markers[i].dbid), Latitude: markers[i].position.A, MemberName: markers[i].title, ParentGroupName: parent, MemberType: "Command_Core.Facility", Member_GUID: markers[i].guid, Longitude: markers[i].position.F } inst.MemberRecords.push(member); } return(JSON.stringify(inst, null, 4)); } $(document).ready(function () { for (var i in db) { $("#dbid").append("<option value=" + db[i] + ">" + i + "</option>"); } $("#export").click(function() { this.href = 'data:text/plain;charset=utf-8,' + encodeURIComponent(genExport()); }); $("#welcome").dialog({ autoOpen: false, title: 'Welcome!' }); }); google.maps.event.addDomListener(window, 'load', initialize); V exportovaném souboru mi chybí Latitude a Longitude které se mi tam nedaří dostat. Na webu to běží na adrese http://cmano.funsite.cz/. Za pomoc předem děkuji

Jméno:
 

E-mail (nepovinné, adresa bude v zabezpečené podobě zobrazena u přezdívky):

:-D :-)) :-) ;-) :-P :-| :-/ :-( 3-[ :-O B-]

Pravidla diskuzí v Poradně webu Živě.cz

Zasláním příspěvku do Poradny souhlasíte s těmito pravidly:

  • Podmínky užívání služby informační společnosti
  • Informace o zpracování osobních údajů
  • Příspěvky se musí týkat tématu otázky.
  • Příspěvky nesmí obsahovat vulgární výrazy a slovní útoky na jiné osoby. Příspěvky nesmí poškozovat web Živě.cz ani jeho provozovatele.
  • Je zakázáno vkládat do příspěvků odkazy na stránky nabízející obsah porušující autorská a jiná práva.
  • Příspěvky nelze využívat k propagaci.
  • Příspěvky, které porušují pravidla diskuzí, budou odstraněny. Případně budou upraveny tak, aby neporušovaly pravidla diskuzí. V textu bude následně uvedeno, že příspěvky byly ze strany moderátorů upraveny.
  • Právo moderovat Poradnu mají pouze zástupci vybraní redakcí Živě.cz. Základní kontrola příspěvku probíhá ještě před jeho zveřejněním.
  • Živě.cz je soukromý web a provozovatel má při řešení sporů, které se týkají příspěvků v Poradně, vždy konečné slovo.

Kdy vám můžeme smazat příspěvek?

  • Když budete vulgární.
  • Když budete slovně útočit na ostatní.
  • Když se nebudete držet tématu dotazu.
  • Když budete poradnu zneužívat pro reklamu.
  • Když záměrně zneužijete cizí přezdívku.
  • Když budete porušovat zákony.
  • A když budete na takové příspěvky reagovat, protože se vždy mažou včetně odpovědí ve stromu.