7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)
  • Q:
    Bijdrager
    Flipper01

    Locatie aanwijzen mbv google maps

    Ik heb een scriptje gemaakt waarmee gebruikers van mijn CMS hun locatie aan kunnen wijzen op een google map. Als er nog geen locatie bekend is klikt de gebruiker op de kaart waarna een marker verschijnt. Dit werkt allemaal prima. Het probleem ontstaat wanneer men de marker naar de precieze plek wil slepen. Na opslaan worden namelijk alleen de gegevens verstuurd van de eerste locatie van de marker en niet de locatie waar de marker naartoe gesleept is.
    Ik gebruik hiervoor het volgende script:
    [code:1:277fdcd8cb]
    <script type="text/javascript">
    function initialize() {
    if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map_canvas"));
    var point = new GLatLng(52.469397, 5.509644);
    var marker;
    map.addControl(new GMapTypeControl());
    map.addControl(new GLargeMapControl()); // Groot zoom/beweeg control
    map.addControl(new GMapTypeControl()); // Control voor wisselen van kaarttype
    map.setCenter(point, 7);
    map.enableScrollWheelZoom();

    GEvent.addListener(map, ‘click’, function(overlay, point) {
    if (point) {
    map.clearOverlays();
    map.panTo(point);
    marker = new GMarker(point, {draggable: true});
    map.addOverlay(marker);
    document.getElementById("long").value=point.y;
    document.getElementById("lat").value=point.x;
    document.getElementById("submit").type=’submit’;
    }
    });
    GEvent.addListener(marker, ‘dragstart’, function(overlay, point) {
    if (point) {
    map.clearOverlays();
    map.panTo(point);
    marker = new GMarker(point, {draggable: true});
    map.addOverlay(marker);
    document.getElementById("long").value=point.y;
    document.getElementById("lat").value=point.x;
    document.getElementById("submit").type=’submit’;
    }
    });
    GEvent.addListener(marker, "dragend", function(marker) {
    point = marker.getLatLng();
    document.getElementById("long").value=point.y;
    document.getElementById("lat").value=point.x;
    document.getElementById("submit").type=’submit’;
    });
    }
    }
    </script> [/code:1:277fdcd8cb]
    Ik hoop dat jullie zien wat ik verkeerd doe..

    Bijdrager
    iJoost

    Eventjes debuggen dan maar. Komt ie wel in die naamloze functie van de dragend? (Waarom naamloos trouwens? Is het gewoon met een naam niet wat leesbaarder?) En als ie daar komt, wat is dan de waarde van de variabelen? Etc… debuggen.;-)

    Bijdrager
    Flipper01

    Ik heb de code ooit ergens opgeduikeld en zelf wat wijzigingen aangebracht.. Geen idee waarom de functie van de dragend naamloos is.. Ik ben absoluut geen javascript expert vandaar dat ik mijn vraag hierover hier plaats.

    Het enige wat ik weet is dat na een klik op de kaart de juiste coordinaten worden opgeslagen. Als de marker daarna versleept wordt worden alleen de coordinaten van de eerste klik opgeslagen.

    Bijdrager
    iJoost

    Maar ken je de functie alert() al wel?

    Want dat (en de Error console uit Firefox) is in feite alles wat je nodig hebt om uit te vinden wat er precies mis gaat. En bovendien nog wat JavaScript te leren ook…;-)

    Bijdrager
    Flipper01
    ”iJoost”

    Maar ken je de functie alert() al wel?

    Want dat (en de Error console uit Firefox) is in feite alles wat je nodig hebt om uit te vinden wat er precies mis gaat. En bovendien nog wat JavaScript te leren ook…;-)

    :sealed:
    Zegt me allemaal niks.. De reden waardoor ik weet wat er mis gaat is doordat ik kan zien welke co√∂rdinaten naar de database worden geschreven en dat zijn alleen de coordinaten van ‘click’

    Bijdrager
    ieperlingetje

    heb je al de api documentatie van google gelezen? Meestal staan alle functies uitgelegd, en met voorbeelden erbij.http://code.google.com/apis/maps/documentation/examples/index.html

    Bijdrager
    iJoost
    ”Flipper01″

    Zegt me allemaal niks..

    Tja, als je helemaal geen JavaScript kent, dan wordt het wel wat lastig. (Want ik ga het niet voor je doen.;-)

    Misschien even JavaScript leren dan maar? Of anders een techniek gebruiken die je wel een beetje beheerst?

7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.