Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Echtzeit-Tracking in Google Maps

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.

  1. Ä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.
  2. 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 .