Google Maps上にマーカーとして表示するLatとLngを引き出しているコールバックURLがあります。私はそれらを配列に入れていますが、私はそれらを分割してGoogleマップがそれらを理解できるようにしなければならないと思います。Googleマップ、マーカーの緯度と経度の配列を渡すか?
function jsonData(){
$.ajax({
url: https://api.foursquare.com/v2/users/self/checkins?oauth_token=FUKXDJRWIB0AQ2MQUKUEUSB3KW2TMYKUMFGYLYUHBBH14CQ0&v=20120126,
cache: false,
dataType: 'json',
success: function(results) {
var lat;
var long;
var paths = [];
for(var i = 0; i < results.response.checkins.items.length; i++) {
var lat = results.response.checkins.items[i].venue.location.lat;
var long = results.response.checkins.items[i].venue.location.lng;
var pathDetails = lat +"," + long;
paths.push(pathDetails);
}
drop(paths);
}
});
};
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
var neighborhoods = [];
var markers = [];
var iterator = 0;
function initialize() {
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
directionsDisplay = new google.maps.DirectionsRenderer();
//var newyork = new google.maps.LatLng(40.7051157, -74.0088305);
var myOptions = {
zoom:1,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
directionsDisplay.setMap(map);
var start = "new york, ny";
var end = "los angeles, ca";
var request = {
origin:start,
destination:end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}
function drop(neighborhoods) {
console.log("Passing in data: " + neighborhoods);
for (var i = 0; i < neighborhoods.length; i++) {
setTimeout(function() {
addMarker();
}, i * 200);
}
}
function addMarker() {
markers.push(new google.maps.Marker({
position: neighborhoods[iterator],
map: map,
draggable: false,
animation: google.maps.Animation.DROP
}));
iterator++;
}
$(document).ready(function() {
jsonData();
drop();
});