Google maps km meghatározás térkép nélkül
2009-12-22T13:22:15+01:00
2011-06-25T04:02:32+02:00
2022-07-19T05:12:21+02:00
  • Felhívnám a figyelmedet (bár gondolom nagy ívből teszel rá), hogy a google csak abban az esetben engedélyezi a térkép API-jának a használatát, amennyiben megjeleníted a térképet (és nem takarod ki a google-ra utaló nyomokat, stb).
    Ha ezt nem teszed, jogtalanul használod.
    Mutasd a teljes hozzászólást!
  • Egy kis hibakezelő kurzus:

    megnézed a hibakonzolt, akkor kiírja a hibát:
    Uncaught TypeError: Cannot call method 'load' of undefined (fuvarkoltseg-kalkulator.html:299)


    299. sor:

    gdir.load(vmi, {getSteps:true});

    gdir-t kiírva: undefined - nem kap értéket. Miért nem? Hol kap értéket? az initialize() függvény meghívásakor. Te kódodban meghívódik? Valószínűleg nem. 11:12-es hozzászólásban meghívódik valahol: Igen:

    <body onLoad="initialize();">

    ezt kifelejtetted a nagy másolgatás közben.
    Mutasd a teljes hozzászólást!
  • Én ezt egy-egybe bemáslom html-ben a honlapomra és nem akar működni saját api kóddal! Szerintetek mi lehet a probléma? Honlapom!
    Mutasd a teljes hozzászólást!
  • Szuper! A paramétereket én is próbáltam kitörölni belőle, csak úgy hibát dobott. Az nem fordult meg a fejemben hogy az egészet töröljem

    BIG THX
    Mutasd a teljes hozzászólást!

  • ezt torold ki:
    map2 = new GMap2(document.getElementById("map2"));

    ezt ird at:
    gdir = new GDirections(map2, document.getElementById("directions"));

    erre:
    gdir = new GDirections();
    erre ugye nem jottel volna ra magadtol?
    Mutasd a teljes hozzászólást!
  • OKÉ

    Ez egy jó trükk:
    <div id="map2" style="display:none"></div>

    DE e nélkül nem lehet sehogy sem:
    map2 = new GMap2(document.getElementById("map2"));

    Mutasd a teljes hozzászólást!
  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Logistics System</title> <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=EZTIRDAT" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ var map2; var geocoder; var gdir; var INVALID_ADDRESS = "The address supplied is invalid. Please check that it is valid. "; var UNAVAILABLE_ADDRESS = "Shipping rates could not be determined for the address supplied. Please check that it is valid. "; var UNKNOWN_ADDRESS = "The address supplied could not be found in "; var UNKNOWN_DIRECTIONS = "Directions could not be determined to the address provided. Please check that it is valid. "; var SERVER_ERROR = "The shipping calculator is currently unavailable. "; var INVALID_DATA = "Some data supplied is invalid. Please check that your address and contact information are correct. "; var G_GEO_UNAVAILABLE_ADDRESS = "Unavailable Address"; var ADDRESS_MISSING = "No address provided, but one is required!"; function handleErrors() { if (gdir.getStatus().code === G_GEO_SUCCESS) {return true;} distance = 0; map_loaded = false; if (gdir.getStatus().code === G_GEO_UNKNOWN_ADDRESS) { alert(UNKNOWN_ADDRESS); } else if (gdir.getStatus().code === G_GEO_UNAVAILABLE_ADDRESS) { alert(UNAVAILABLE_ADDRESS); } else if (gdir.getStatus().code === G_GEO_UNKNOWN_DIRECTIONS) { alert(UNKNOWN_DIRECTIONS); } else if (gdir.getStatus().code === G_GEO_SERVER_ERROR) { alert(SERVER_ERROR); } else if (gdir.getStatus().code === G_GEO_MISSING_QUERY) { alert(INVALID_DATA); } else if (gdir.getStatus().code === G_GEO_BAD_KEY) { alert(SERVER_ERROR); } else if (gdir.getStatus().code === G_GEO_TOO_MANY_QUERIES) { alert(SERVER_ERROR); } else if (gdir.getStatus().code === G_GEO_BAD_REQUEST) { alert(INVALID_DATA); } else { alert(SERVER_ERROR); } } function initialize() { geocoder = new GClientGeocoder(); map2 = new GMap2(document.getElementById("map2")); gdir = new GDirections(map2, document.getElementById("directions")); GEvent.addListener(gdir, "load", onGDirectionsLoad); GEvent.addListener(gdir, "error", handleErrors); } function setDirections(fromAddress, toAddress, betweenAddresses) { if (betweenAddresses!="") {betweenAddresses = " to: " + betweenAddresses.replace(/,/g," to: ");} else {betweenAddresses="";} vmi="from: " + fromAddress +betweenAddresses+" to: " + toAddress; gdir.load(vmi, {getSteps:true}); } function onGDirectionsLoad(){ var highWay=0; var routeInfo=""; for (var i=0; i<gdir.getNumRoutes(); i++) { var route = gdir.getRoute(i); routeInfo += route.getStartGeocode().address + " - " + route.getEndGeocode().address + ": " + route.getDistance().html +"<br />"; for (var j=0; j<route.getNumSteps(); j++) { var step = route.getStep(j); if (step.getDescriptionHtml().search(/Toll road/i)!=-1 || step.getDescriptionHtml().search(/fizet/i)!=-1) if (step.getDistance().html.search("&nbsp;m")==-1) highWay += parseFloat(step.getDistance().html); } } document.getElementById('routeinfo').innerHTML = gdir.getDistance().html + " (" +parseInt(highWay) + " km)" + "<br />" +routeInfo; } //]]> </script> </head> <body onLoad="initialize();"> <div id="map2" style="display:none"></div> <div id="directions" style="display:none"></div> kezdo allomas <input id="start" type="text" value="Zalaegerszeg" /><br /> koztes allomas(ok) <input id="between" type="text" value="Budapest,pécs,keszthely" /><br /> vegso allomas <input id="end" type="text" value="Szombathely" /><br /> <div id="routeinfo"></div> <input type="button" onclick="setDirections(document.getElementById('start').value, document.getElementById('end').value, document.getElementById('between').value);" value="Mehet" /> </body> </html>

    ez meg a fizetos utakat is szamolja...
    a google keyt at kell irnod a tiedre...
    Mutasd a teljes hozzászólást!
  • Programnyelv kiderül innen
    Mutasd a teljes hozzászólást!
  • Az útvonal számolása térkép segítségével elég könnyű feladat. Viszont itt az lenne a lényeg, hogy úgy számoljak két (vagy több) város között távolságot, hogy közbe nem jelenítem meg a térképet és ráadásul NEM légvonalban számolok koordináták alapján!
    Mutasd a teljes hozzászólást!
  • Ha megkérdezhetem, milyen programnyelvről van szó ilyen esetben?
    Mutasd a teljes hozzászólást!
  • Csináltam már ilyet, de momentán nem találom. Nézd meg a google maps útvonaltervező API-kat, én is abból barkácsoltam össze, nem volt egy nagy durranás. Az egy optimalizált útvonalat ad, az is csak tájékoztató adat lehet.
    Amit belinkeltél az miért i snem jó? Hol van ott a térkép?
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Tudna valaki egy olyan szkriptet mutatni mint ez, CSAK nem légvonalban határozná meg a távolságot (két koordináta alapján), hanem normális útvonalat tervezne A-B-C-D város között?
    A legfontosabb hogy nekem mindez úgy kellene hogy közbe ne rajzoljon ki maps-os térképet!


    Köszi előre is a segítséget!
    Mutasd a teljes hozzászólást!
abcd