我正在使用谷歌地图API来显示热图。在缩放一个级别后,我希望热图区域显示在地图的中心。我也附加了图像,你可以看到地图底部的热图。
render: function() {
var results = this.model.get('results');
if (!results)
return this;
var data = results[this.model.get('index')];
if (!data)
return this;
if (!data.data.length) {
data.data.push({
count: 0,
lat: 0,
lng: 0
});
}
showHeatMapData(data);
var startTime = this.model.get("starttm");
if(startTime >= 1436985000 && startTime <= 1437244199)
{
$("#pichart").show();
}
else
{
$("#pichart").hide();
}
this.heatmap.setData(data);
this.map.setZoom(20);
return this;
}
答案 0 :(得分:1)
试试这个:
this.heatmap.setData(data);
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < data.length; i++) {
bounds.extend(data[i]);
}
this.map.setCenter(bounds.getCenter());
this.map.setZoom(20);
答案 1 :(得分:0)
我猜你有经度和纬度包含数组 有些事情看起来像
var locationarray = [];
locationarray[0] = new google.maps.LatLng(13.74428, 100.5404525);
locationarray[1] = new google.maps.LatLng(13.744108, 100.543098);
现在当您加载其他功能时,您只需从您的位置数组中设置地图中心,就像这样
map.setCenter(locationarray[0]);
我希望这会对你有所帮助。
答案 2 :(得分:0)
缩放地图并使之适合所有点:
function sumTotal() {
let val1 = document.getElementsByName("val1")[0].value;
let val2 = document.getElementsByName("val2")[0].value;
let sum = Number(val1) + Number(val2);
document.getElementsByName("sum")[0].value = sum;
vatCalc(sum)
grandTotal(sum)
}
function vatCalc (sum) {
var sumVat =0.20;
let vat = sumVat*sum;
document.getElementsByName("vat")[0].value = vat;
}
function grandTotal (sum, vat) {
let total = Number(sum) + Number(vat);
document.getElementsByName("total")[0].value= total;
}