Mer

Opprette ballong for dynamisk KML-fil ved hjelp av OpenLayers

Opprette ballong for dynamisk KML-fil ved hjelp av OpenLayers


Jeg vil lage en ballong for en KML-fil som beveger seg dynamisk.

Eksemplet jeg jobber med er solur.html.

La oss si at KML beveger seg.

Hvordan ville vi få ballongen til å bevege seg også?


Jeg er ikke helt sikker på hva du mener med "la oss si at KML beveger seg", men hvis du vil endre plasseringen til en popup etter at den er opprettet, gjør du slik:

// Still den nye lonlat-plasseringen. popup.lonlat = nye OpenLayers.LonLat (popup.lonlat.lon - 1, popup.lonlat.lat - 1); // Be OpenLayers om å oppdatere popup-posisjonen på kartet. popup.updateSize ()

Hvis du har en vektor, for eksempel en solur, og den er ensom, og du vil at popupen skal flytte til det nye senteret, kan du gjøre dette:

// Sett popup-posisjonen lik vektorens sentrum popup.lonlat = feature.geometry.getBounds (). GetCenterLonLat (); // Be OpenLayers om å oppdatere popup-posisjonen på popup-kartet.updateSize ();

Du kan lime inn det første eksemplet i firebug på solureksemplet, og det skal fungere med en gang.

OpenLayers API nevner ikke at updateSize-funksjonen oppdaterer senteret, så det er mulig at denne oppførselen vil forsvinne på et tidspunkt.


Se videoen: Chase The Balloon