Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $(document).ready(function(){
- var myOptions = {
- center: new google.maps.LatLng(45.492751,-122.803631),
- zoom: 12,
- mapTypeId: google.maps.MapTypeId.ROADMAP
- };
- var routeDropZone = document.getElementById('route-import');
- var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
- var geocoder = new google.maps.Geocoder();
- routeDropZone.addEventListener("dragenter", dragEnter, false);
- routeDropZone.addEventListener("dragexit", dragExit, false);
- routeDropZone.addEventListener("dragover", dragOver, false);
- routeDropZone.addEventListener("drop", drop, false);
- function dragEnter(evt) {
- evt.stopPropagation();
- evt.preventDefault();
- }
- function dragExit(evt) {
- evt.stopPropagation();
- evt.preventDefault();
- }
- function dragOver(evt) {
- evt.stopPropagation();
- evt.preventDefault();
- }
- function drop(evt) {
- evt.stopPropagation();
- evt.preventDefault();
- var files = evt.dataTransfer.files;
- var count = files.length;
- // Only call the handler if 1 or more files was dropped.
- if (count > 0)
- processFiles(files);
- }
- function processFiles(files)
- {
- for(i = 0; i < files.length; i++)
- {
- file = files[i];
- var reader = new FileReader();
- reader.onerror = function(stuff)
- {
- console.log("error", stuff);
- console.log(stuff.getMessage());
- }
- /*reader.onprogress = function(e)
- {
- if (e.lengthComputable) {
- var loaded = ((e.loaded / e.total) * 100);
- if (loaded != 100)
- {
- $("#route-import-progress").html(loaded);
- }
- else
- {
- $("#route-import-progress").html('');
- }
- }
- }*/
- reader.onloadend = function(e)
- {
- importStops(e.target.result);
- }
- reader.readAsText(file);
- }
- }
- function importStops(text)
- {
- console.log('Info', "Importing route");
- var lines = text.split("\n");
- for (var i in lines)
- {
- var stop = lines[i].split('~');
- newStop = new Object();
- newStop.index = (parseInt(i) + 1);
- newStop.packages = stop[0];
- newStop.weight = stop[1];
- newStop.service = stop[2];
- newStop.name = stop[3];
- newStop.house = stop[4];
- newStop.street = stop[5];
- newStop.street2 = stop[6];
- newStop.city = stop[7];
- newStop.zip = stop[8];
- newStop.route = stop[9];
- addMarker(newStop);
- }
- }
- function addMarker(stop)
- {
- geocoder.geocode( { 'address': stop.house + " " + stop.street + " " + stop.city + " " + stop.zip }, function(results, status) {
- if (status == google.maps.GeocoderStatus.OK)
- {
- stop.marker = new google.maps.Marker({
- map: map,
- position: results[0].geometry.location,
- });
- stop.marker.setMap(map);
- }
- else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT)
- {
- setTimeout(function() { addMarker(stop); }, (3000));
- }
- else
- {
- alert("Geocode was not successful for the following reason: " + status);
- }
- });
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement