Dynamically Update a Map
I have a bit of a situation. I was assigned a task to create a system that will take a KML file and update markers dynamically on a map. I'm currently generating the KML from a Wireshark Dissection and now need a way to take said data into a mapping tool. There are a few situations:
- The PC that will be running the system will not have internet access, so I will need to cache de map data.
- Each marker might move location so I need to erase said marker's previous location and update it with a new marker location. I do have a sequence ID I can identify it with, but I don't know how I'll update the new location.
- It needs to be dynamically updated. A system will send data, my Wireshark Dissector will dissect the data and export it into a KML. This KML will need to be dynamically loaded into the system.
The basic idea in mind is like looking at Google Maps and watching your car move as it tracks your GPS location. But I need to make this tracking system work for a lot more targets than just one.
I'm sorry I currently have no foundation on where to start, but that's why I ask for your guidance. I've researched on ArcGIS, QGIS, Google Earth and Maps, but I haven't found a way to upload dynamically nor refresh the system.
Anything that could help me start finding a solution for this task will be appreciated.
Thank you for your time.
I had experience using leaflet js which allowed you to use bing map, google map, or opensource MapQuest to display mobile-track and car-tracking (for GM OnStar). I am also coding for kml to display flight-tracking on google earth now.
First, I am not sure it is possible or not :
- you have a machine not connecting to internet
- you want to use those map resource on internet
SO that I will assume that your machine can access internet. Then, there are many solutions.
You may try to see the simple tutorial on http://leafletjs.com/ You will have idea how to do it. Plus, you have search for examples for Google earth (on which, I can display 3D tracking route).
Hope this help.
Other than map, see my sample to " Dynamic update data on Google Earth " in the following :
hope this help ....
(The following are copy from my link which talking about KML for 3D Google Earth. But I believe you can make it into 2D if you have to "not-use-google-earth".)
How to make a dynamic Auto refresh 3D Tracking :
prepare a RestFul service to generate KML file from DB (sample as in https://sites.google.com/site/canadadennischen888/home/kml/3d-tracking)
My other jsp code will generate a KMZ file which has a link to my Restful service. KMZ file has onInterval ( as in the bottom)
Jsp web page allow user to download KMZ file.
When Google Earth open KMZ file, Google Earth will auto refresh to get new data from that Restful service
Everytime refreshing, server will send the latest update KML data with new data to GE.
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> <NetworkLink> <name>Dennis_Chen_Canada@Hotmail.com</name> <open>1</open> <Link> <href>http://localhost:9080/google-earth-project/rest/kml/10001/20002</href> <refreshMode>onInterval</refreshMode> </Link> </NetworkLink> </kml>