以下 JavaScript 函数取自http://sg.openrice.com/js/en/sdmap.js
(包含此外部 JS 文件的网页: http: //sg.openrice.com/singapore/restaurant/advancesearch。 htm?mapType=1 ):
function showAllMarkers(data, options) {
var markerGroups = {};
var getcs = function (lat, lng) {
return '' + Math.round(lat * 32768) + Math.round(lng * 32768);
}
for (var i = 0; i < data.length; i++) {
if (markerList[data[i].id]) continue;
if (!(data[i].lat == 0 && data[i]['long'] == 0)) {
var xy = getcs(data[i].lat, data[i]['long']);
if (markerGroups[xy]) {
markerGroups[xy].push(data[i]);
} else {
markerGroups[xy] = [data[i]];
}
}
}
for (var i in markerGroups) {
updateGroupMarker(markerGroups[i], options);
}
}
脚本运行后,该函数用于对重叠的标记进行聚类。我完全理解 javascript 语法,但我不明白这一行的作用:
return '' + Math.round(lat * 32768) + Math.round(lng * 32768);
乘以 32768 有什么特殊用途吗?谁能给我解释一下?
谢谢!