Echtzeit-Tracking von geografischen Breiten-/Längengraden auf einer Karte
Sie möchten Koordinateneinheiten (Lat/Lon-Position) auf einer Karte (Google Maps oder auf andere Weise) in Echtzeit aktualisieren, wenn die Aktualisierungen erfolgen. Hier ist ein Blogbeitrag, der Sie vielleicht in die richtige Richtung bringt:http://blog.pubnub.com/streaming-geo-coordinates-from-mongodb-to-your-iphone-app-with-pubnub-using -websocket-sdk/ - Dies verwendet MongoDB und Ruby anstelle von PHP und MySQL. In diesem Fall ist es jedoch einfach, die Dinge mit einer Echtzeitkarte in PHP und MySQL auf einer HTML-Seite mit den folgenden Details einzurichten. Und es gibt auch ein Video:https://vimeo.com/60716860
Verwenden von MySQL zum Auslösen von Updates in Echtzeit
Zuerst sollten Sie einen der beiden MySQL-Trigger verwenden, um die Lat/Long-Koordinaten zu verschieben - Pusher aufrufen, wenn mysql geändert wurde - Dies verwendet MySQL-Trigger
Alternativ können Sie PHP direkt verwenden, um das Push-Signal mit einem PHP-Push-SDK wie folgt aufzurufen:https://github.com/pubnub/php#php-push-api
$pubnub->publish(array(
'channel' => 'live_map_coords',
'message' => array( 12.3482, 8.3344 )
));
Empfangen der Push-Nachricht in JavaScript und Anzeigen der Updates auf einer Karte
<script src=//pubnub.a.ssl.fastly.net/pubnub-3.4.5.min.js></script>
<script>(function(){
PUBNUB.init({
subscribe_key : 'demo'
}).subscribe({
channel : 'live_map_coords',
callback : function(lat_lon) { alert(lat_lon) }
});
})();</script>
Sobald Sie eine map.html
haben Seite mit dem obigen Code darin, können Sie den alert(lat_log)
ändern Nachrichten-Popup mit Zeichenkoordinaten auf einer Karte. Hier ist ein voll funktionsfähiges Kartenbeispiel mit D3
JavaScript-SVG-Rendering-Framework:https://github. com/stephenlb/pubnub-mongo-pipe/blob/master/phone/map.html
Nächste Schritte zur Zusammenstellung der Echtzeit-Geokarte
Als nächstes sollten Sie Folgendes tun, um den Vorgang abzuschließen und alle hier aufgeführten separaten Komponenten zusammenzufügen.
- Ändern Sie die
map.html
Seite für Ihre Zwecke, um immer sichtbare Punkte anzuzeigen. Beachten Sie, dass die Punkte im Video temporäre Beacons sind, die schnell angezeigt und wieder verschwinden. Sie sollten sie auf der Karte beibehalten. Dies ist im Grunde das „Machen Sie es so, wie Sie es möchten“ Schritt. - Entscheiden Sie, wie und wann Sie die TCP-Socket-Push-Ereignisse direkt von PHP oder MySQL auslösen möchten. Ich würde den PHP-Ansatz empfehlen .