Avatar billede andersasp Nybegynder
03. oktober 2008 - 10:26 Der er 5 kommentarer

Indsæt flere felter i Google maps api

Hejsa,

Lige nu har jeg en google map funktion som virker rigtigt godt, hvor den taget X antal elementer og sætter prikker på et kort..

Jeg vil dog gerne have noget mere data at sætte ind, med ved ikke helt hvordan jeg går dette??

Lige nu sætter jeg 3 sæt data ind.. long, lan og overskrift

Men hvordan får jeg flere felter ind og vigtigst hvordan bruger jeg dem i den lille popup??
'<div style="width:250px;">' + title + '</div>'



set findrecords = Connbrugere.Execute("SELECT * FROM users where (Fstatus = 0 OR Fstatus = 1 OR Fstatus = 2) " & thisisthemainsql & addthistosqlII & orderbythis & " LIMIT " & intStart & ", " & intPageSize & ";")

do while not findrecords.eof

if findrecords("FLatitude") > 0 AND findrecords("FLongitude") > 0 then
writethisintoscript    = writethisintoscript & "mArray.push('"&replace(findrecords("FLatitude"), ",", ".")&";"&replace(findrecords("FLongitude"), ",", ".")&";"&findrecords("FVirksomhedsnavn")&"')" & vbCrLf

startwiththisFLatitude    = replace(findrecords("FLatitude"), ",", ".")
startwiththisFLatitude    = replace(findrecords("FLongitude"), ",", ".")

end if

  findrecords.MoveNext
loop
findrecords.close
%>
   
<script>
    var scriptTag = '<' + 'script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAgAd7DP2nnHy78IgSMJ9CIBSmAzfehTIJBLZROGlXPjKmxQvNrbhT6L1mqFjuCSBrkzhzGhd_Q">'+'<'+'/script>';
    document.write(scriptTag);
</script>

<script type="text/javascript">
var mArray = Array();
var map;
var centerPoint = new GLatLng(<%=startwiththisFLatitude%>,-<%=startwiththisFLatitude%>);

function load() {
    doLoad();
<%=writethisintoscript%>

    addMarkers();
}

function doLoad() {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.setCenter(centerPoint, 7);
        map.addControl(new GScaleControl());
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        //map.enableScrollWheelZoom();
        GEvent.addListener(map, 'mouseover', mapClick);

    }
}

function addMarkers() {
    if (mArray.length) {
        var bounds = new GLatLngBounds();
        for (n=0 ; n < mArray.length ; n++ ) {
            var mData = mArray[n].split(';');
            var point = new GLatLng(mData[0],mData[1]);
            bounds.extend(point);
            var marker = createMarker(point, mData[2]);
            map.addOverlay(marker);
        }
        map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
    }
}

function createMarker(point, title) {
    var marker = new GMarker(point,{title:title});
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml('<div style="width:250px;">' + title + '</div>');
    });
    return marker;
}

function mapClick(marker, point) {
    if (!marker) {
        oLat = document.getElementById("lat");
        oLat.value = point.lat().toFixed(6);
        oLon = document.getElementById("lon");
        oLon.value = point.lng().toFixed(6);
        oDesc = document.getElementById("desc");
        oDesc.value = 'New point';
    }
}



</script>
Avatar billede andersasp Nybegynder
03. oktober 2008 - 10:26 #1
Hov smider lige det sidste af koden, hvis andre kunne få gavn af den :)


<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 748px; height: 250px"></div>


<div id="formDiv"></div>
Avatar billede roenving Novice
03. oktober 2008 - 10:56 #2
Hvad er lat, lon og desc for nogle elementer ?-)
Avatar billede roenving Novice
03. oktober 2008 - 10:57 #3
-- og hvilke data vil du mere sætte ind, og hvorfra skal de komme ?o]
Avatar billede steen-h Mester
04. oktober 2008 - 14:26 #4
Her er en side jeg havde megen glæde af.

http://econym.org.uk/gmap/

Det jeg tror du mener er et info vindue
http://econym.org.uk/gmap/basic1.htm
Avatar billede andersasp Nybegynder
05. oktober 2008 - 13:24 #5
Hejsa,

Det som jeg gerne vil er at indsætte noget mere data som jeg kan bruge i popup vinduet.. Jeg har rimelig styr på at få vist informationen.. men er lidt ny i javascript så jeg ved ikke hvordan jeg får informationen tilgængelig..

writethisintoscript    = writethisintoscript & "mArray.push('"&replace(findrecords("FLatitude"), ",", ".")&";"&replace(findrecords("FLongitude"), ",", ".")&";"&findrecords("FVirksomhedsnavn")&"')" & vbCrLf

jeg vil gerne tilføje følgende informationer til ovenstående:

";"&findrecords("FVadresse")&"')" &
";"&findrecords("FVpostnr")&"')" &
";"&findrecords("FVby")&"')" &



Men jeg ved ikke hvordan man får disse frem via scriptet, som f.eks. title

marker.openInfoWindowHtml('<div style="width:250px;">' + title + '</div>');
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester