2017-12-21 4 views
0

Ich habe ein Projekt auf asp.net gebaut und es hat seine eigene Datenbank. Dieser DB aktualisiert sich ständig mit Sensoren, die an arduino angeschlossen sind, und mit ihnen ändern sich die Tabellen im DB. (Um genauer zu sein - es gibt einen Magnetsensor unter dem Parkplatz und wenn ein Auto auf diesen Parkplatz fährt, ändert sich der Parkstdus in der Datenbank auf "falsch").Embed Online-Datenbank von asp.net auf Google Maps

Ich möchte diese SQL-Datenbank (asp.net) auf Google Maps API auf meiner Website einbetten. (? Marker) Damit in meiner Website werde ich Google Maps sehen und alle Parkings mit ihrem Status, mit dem DB in Echtzeit aktualisieren, (grün, wenn es stimmt, Rot - wenn seine false)

Die Datenbank besteht aus zwei verschiedenen Tabellen.

Meine Abfrage wird in LINQ geschrieben. Ich habe gelesen, dass ich mit JSON/Geojson-Datei verwenden muss.

Es ist richtig? Kannst du mir mehr darüber erklären? Und wie kann ich diese JSON-Datei immer mit der DB aktualisieren lassen?

DANKE !!

Antwort

0

https://developers.google.com/maps/documentation/javascript/

Werfen Sie einen Blick auf die oben verlinkte Dokumente. Ich würde einfach JavaScript verwenden, vielleicht Ihre Daten über REST API konsumieren und die Karte regelmäßig aktualisieren, indem Sie die Daten erneut überprüfen.

Sie müssen sich für einen Schlüssel bei Google anmelden. Sie können eine kostenlos erhalten, die Ihnen eine begrenzte Anzahl von Anfragen über eine bestimmte Zeit gibt. Wenn Sie mehr benötigen, müssen Sie bezahlen.

Wenn Sie sich nicht mit REST beschäftigen möchten und nur ein Update pro Seite laden möchten, können Sie Page_Load auf Ihrer Seite verwenden und Ihre Daten an die Clientseite/JavaScript übergeben. So etwas wie das Folgende. Aber ich würde den Webservice bevorzugen, da Sie aktualisieren können, ohne die Seite neu laden zu müssen.

protected void Page_Load(object sender, EventArgs e) 
     { 
      var sqlData; 
      using (SqlDataDataContext ctx = new SqlDataDataContext(ConfigurationManager.ConnectionStrings["ConnectionDB"].ConnectionString)) 
     { 
      sqlData = ctx.GetCurrentData(); 
     } 
     StringBuilder sbJs = new StringBuilder(); 
     sbJs.AppendLine(@"var sqlData = new Array();"); 
     int i = 0; 
     foreach(var sqlRow in sqlData) 
     { 
      sbJs.AppendLine(String.Format("sqlData.push({id:{0}, latitude:{1}, longitude:{2}, status:{3}});", sqlRow.Id, sqlRow.latitude , sqlRow.longitude, sqlRow.status); 
     } 
     Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "DynamicScript", sbJs.ToString(), true); 
    } 
+0

tnx für die Antwort. Ich habe diese Tutorials gesehen, aber es ist nicht für mich geeignet .. Ich muss die linq Abfrage Ergebnis nehmen und dann in Google Maps einbetten –

+0

Mit kurzen Gliederung und Code, wie Sie tun, was Sie tun möchten, aktualisiert. –