緯度で並び替えれば、とりあえず問題ないですね。
// マーカーをつくって、latMapにいれる var lat = 9120912091;//適当です。 var lng = 8328733289;// 適当です。 var marker = new google.maps.Marker({ map: map, position: new google.maps.LatLng(lat, lng), icon: number, zIndex: 0 }); latMap[latMap.lenght] = {'lat':lat, 'marker':marker}; // 緯度で並び替える用 latMap[latMap.length] = {'lat' : lat, 'marker' : marker}; //↑をループなどでたくさんのマーカーをつくる // 緯度並び替えの実装 latMap.sort(function(a,b){ if(a.lat<b.lat) return 1; if(a.lat > b.lat) return -1; return 0; }); for (var z = 0; z < latMap.length; z++){ latMap[z].marker.setZIndex(z); }
もし、経度でもやりたいようならば、latMapにlngも記録しておいて、
latMap.sort(function(a,b){ if(a.lat<b.lat) return 1; if(a.lat > b.lat) return -1; if(a.lng<b.lng) return 1; if(a.lng > b.lng) return -1; return 0; });