Dynamische Karte

11/11/2012 02:26 Mozo_#1
Hallo,

ich habe 2 fragen,
̶1̶̶.̶̶ ̶̶g̶̶i̶̶b̶̶t̶̶ ̶̶e̶̶s̶̶ ̶̶i̶̶r̶̶g̶̶e̶̶n̶̶d̶̶w̶̶o̶̶ ̶̶e̶̶i̶̶n̶̶ ̶̶t̶̶o̶̶o̶̶l̶̶ ̶̶w̶̶o̶̶m̶̶i̶̶t̶̶ ̶̶i̶̶c̶̶h̶̶ ̶̶e̶̶i̶̶n̶̶e̶̶ ̶̶k̶̶a̶̶r̶̶t̶̶e̶̶ ̶̶v̶̶o̶̶n̶̶ ̶̶m̶̶i̶̶r̶̶ ̶̶i̶̶n̶̶ ̶̶e̶̶i̶̶n̶̶z̶̶e̶̶l̶̶n̶̶e̶̶ ̶̶a̶̶b̶̶s̶̶c̶̶h̶̶n̶̶i̶̶t̶̶t̶̶e̶̶ ̶̶f̶̶ü̶̶r̶̶ ̶̶l̶̶e̶̶a̶̶f̶̶l̶̶e̶̶t̶̶ ̶̶w̶̶i̶̶e̶̶ ̶̶z̶̶.̶̶b̶̶.̶̶ ̶̶
h̶̶i̶̶e̶̶r̶̶ ̶([̶u̶̶r̶̶l̶=̶h̶̶t̶̶t̶̶p̶̶:̶//̶t̶̶h̶̶e̶̶w̶̶a̶̶r̶̶z̶̶c̶̶a̶̶r̶̶t̶̶o̶̶g̶̶r̶̶a̶̶p̶̶h ̶̶e̶̶r̶̶.̶̶c̶̶o̶̶m/]̶t̶̶h̶̶e̶̶ ̶̶w̶̶a̶̶r̶̶ ̶̶z̶̶ ̶̶c̶̶a̶̶r̶̶t̶̶o̶̶g̶̶r̶̶a̶̶p̶̶h̶̶e̶̶r̶̶ ̶-̶ ̶̶i̶̶n̶̶t̶̶e̶̶r̶̶a̶̶c̶̶t̶̶i̶̶v̶̶e̶̶ ̶̶m̶̶a̶̶p̶̶ ̶̶f̶̶o̶̶r̶̶ ̶̶t̶̶h̶̶e̶̶ ̶̶w̶̶a̶̶r̶̶ ̶̶z̶[/̶u̶̶r̶̶l̶])̶ ̶̶
a̶̶u̶̶f̶̶t̶̶e̶̶i̶̶l̶̶e̶̶n̶̶ ̶̶k̶̶a̶̶n̶̶n̶̶ ̶̶o̶̶d̶̶e̶̶r̶̶ ̶̶m̶̶u̶̶s̶̶s̶̶ ̶̶i̶̶c̶̶h̶̶ ̶̶d̶̶a̶̶s̶̶ ̶̶s̶̶e̶̶l̶̶b̶̶s̶̶t̶̶ ̶̶m̶̶a̶̶c̶̶h̶̶e̶̶n̶̶ ̶̶u̶̶n̶̶d̶̶ ̶̶w̶̶e̶̶n̶̶n̶̶ ̶̶j̶̶a̶̶ ̶̶m̶̶u̶̶s̶̶s̶̶ ̶̶i̶̶c̶̶h̶̶ ̶̶b̶̶e̶̶s̶̶t̶̶i̶̶m̶̶m̶̶t̶̶ ̶̶m̶̶a̶̶ß̶̶e̶̶ ̶̶e̶̶i̶̶n̶̶h̶̶a̶̶l̶̶t̶̶e̶̶n̶̶?̶

2. wenn ich die karte habe und darauf marker zeichne, wie kann ich es machen das sich die marker ohne neu laden der seite neue koordinaten aus einer datenbank holt und diese übernimmt und dabei die alten löscht?

1. erledigt

Schonmal vielen dank :)
11/12/2012 16:18 eromer#2
Hey, leider kann ich nicht wissen wie du die Karte darstellst (welche API, selfmade oder die von Google).

Ich gehe mal davon aus das du die Google Map API v3 benutzt.

Es gibt aber ein paar Möglichekeiten.
Zunächste konntest du auf einen Link Klicken "Refresh Markers" ohne die Seite neu zuladen. Du machst einen Ajax call auf deine Datenbank und fügst dann die neuen relevanten Makierungen zu der Map API.

Die Zweite wäre, du startest Automatisch alle 30 Sekunden einen Ajax request (wie beim ersten fall).

Grüße.

Wenn du noch ein paar mehr Information Postest könnte ich dir vielleicht auch ein bsp Posten
11/12/2012 19:05 Mozo_#3
Arbeite mit openlayers, habe die karte fertig, er holt sich die coordinaten über ein php script und zeichnet dann die marker auf die karte.. soweit habe ich es nun.

Bin derzeit dabei zu versuchen das er sich die neuen daten aus der datenbank holt.
Ich habe es so weit das ich mit ajax einen get an ein php script sende, dieses script gibt mir einen javascript code um die positionen zu aktualisieren. Nur bekomme ich es nicht hin das er den code den er bekommt auch ausführt.

Das ist meine ajax abfrage:
PHP Code:
<script type="text/javascript">
function 
get(){
    $.
get('test.php', {}, 
    function(
data) {
        
bla data;
    });
}
</script> 
die funktion rufe ich damit auf, damit er immer die aktuellsten werte hat:
PHP Code:
self.setInterval(function(){get()},500); 
nur wie kann ich den code aus der variable "bla" nun ausführen?
11/12/2012 19:11 boxxiebabee#4
Quote:
Originally Posted by Mozo_ View Post
Arbeite mit openlayers, habe die karte fertig, er holt sich die coordinaten über ein php script und zeichnet dann die marker auf die karte.. soweit habe ich es nun.

Bin derzeit dabei zu versuchen das er sich die neuen daten aus der datenbank holt.
Ich habe es so weit das ich mit ajax einen get an ein php script sende, dieses script gibt mir einen javascript code um die positionen zu aktualisieren. Nur bekomme ich es nicht hin das er den code den er bekommt auch ausführt.

Das ist meine ajax abfrage:
PHP Code:
<script type="text/javascript">
function 
get(){
    $.
get('test.php', {}, 
    function(
data) {
        
bla data;
    });
}
</script> 
die funktion rufe ich damit auf, damit er immer die aktuellsten werte hat:
PHP Code:
self.setInterval(function(){get()},500); 
nur wie kann ich den code aus der variable "bla" nun ausführen?
eval().

Alle 0,5 Sekunden zu "aktuallisieren" ist etwas übertrieben.
Außerdem solltest du nicht wirklich Javascript übergeben, sondern evtl. ein JSON Objekt und diesen dann halt nach jeder Abfrage parsen, und dementsprechende Aktionen ausführen.