javascript - Destination from array on marker click -


i not experienced javascript i'd better right now. terribly stuck on project working on , need badly.

i making map locations marked data set exported file on google docs. far have managed populate markers on map , infowindows set up.

i'd user able click on marker on map, , click on directions button in infowindow directions current location (using geolocation) location of marker clicked on.

i feel close (maybe problem), don't know, , after days of trying still can't figure out, how lat,lng array getdir function. please, appreciated. thank in advance.

here page map on now.

here how calling , setting data map -

function initialize() {     var mylatlng100 = new google.maps.latlng(45.522535,-122.659492);    var mapoptions = {       center: mylatlng100,       zoom: 15,                 maptypecontrol: true,       zoomcontrol: true,       zoomcontroloptions: {          style: google.maps.zoomcontrolstyle.small       }    };  map = new google.maps.map(document.getelementbyid("map-canvas"), mapoptions);   var transitlayer = new google.maps.transitlayer();  transitlayer.setmap(map);   $.getjson('https://spreadsheets.google.com/feeds/list/0anapthosnezvdhbpcu1nemz5ufjaoxzdmxlbuvdnmwc/od6/public/values?alt=json',         function(data) {    (var = 0; < data.feed.entry.length; i++) {       var markerid = data.feed.entry[i].gsx$markerid.$t;       var lat = data.feed.entry[i].gsx$lat.$t;       var lng = data.feed.entry[i].gsx$lng.$t;       var title = data.feed.entry[i].gsx$name.$t;       var contentstring =           "<div class='contentstring'><h3>" + data.feed.entry[i].gsx$name.$t + "</h3><br><p>" + data.feed.entry[i].gsx$address.$t            + "<br>" + data.feed.entry[i].gsx$city.$t + ", "           + data.feed.entry[i].gsx$state.$t + "</p></div>" + "<input type='button' onclick=getdir() value='get direction here'>";                   var markers = [markerid, lat, lng, title, contentstring];       createmarker(lat, lng, title, contentstring);     }    }); }    

this getdir() troubles -

function getdir(lat,lng) {    if (navigator.geolocation) { //checks if browser supports geolocation                 navigator.geolocation.getcurrentposition(function (position) {  //this gets       var latitude = position.coords.latitude;                    //users current       var longitude = position.coords.longitude;                 //location       var start = new google.maps.latlng(latitude,longitude); //creates variable map coordinates       var directionsservice = new google.maps.directionsservice();     var directionsdisplay = new google.maps.directionsrenderer();     directionsdisplay.setmap(map);     directionsdisplay.setpanel(document.getelementbyid('panel'));       var request = {       origin: start,       destination: new google.maps.latlng(lat,lng),       travelmode: google.maps.directionstravelmode.walking     };      directionsservice.route(request, function (response, status) {         if (status == google.maps.directionsstatus.ok) {            directionsdisplay.setdirections(response);         }     });   });   } else {     // browser doesn't support geolocation     handlenogeolocation(false);   } } 

add latitude , longitude html in infowindow. change this:

  var lat = data.feed.entry[i].gsx$lat.$t;   var lng = data.feed.entry[i].gsx$lng.$t;   var contentstring =       "<div class='contentstring'><h3>" + data.feed.entry[i].gsx$name.$t + "</h3><br><p>" + data.feed.entry[i].gsx$address.$t        + "<br>" + data.feed.entry[i].gsx$city.$t + ", "       + data.feed.entry[i].gsx$state.$t + "</p></div>" + "<input type='button' onclick=getdir() value='get direction here'>";           

to:

  var lat = data.feed.entry[i].gsx$lat.$t;   var lng = data.feed.entry[i].gsx$lng.$t;   var contentstring =       "<div class='contentstring'><h3>" + data.feed.entry[i].gsx$name.$t + "</h3><br><p>" + data.feed.entry[i].gsx$address.$t        + "<br>" + data.feed.entry[i].gsx$city.$t + ", "       + data.feed.entry[i].gsx$state.$t + "</p></div>" + "<input type='button' onclick=getdir("+lat+","+lng+") value='get direction here'>";           

working fiddle


Comments

Popular posts from this blog

javascript - RequestAnimationFrame not working when exiting fullscreen switching space on Safari -

jsf - How to ajax update an item in the footer of a PrimeFaces dataTable? -

django - CSRF verification failed. Request aborted. CSRF cookie not set -