1

Я хочу построить карту с тепла в Google Map показать распределение на такси города.Geo Тепловая карта (Google) с большими данными

Я собрал около 4000 данных от начального местоположения такси (широта и долгота).

Вот некоторые из моего сценария:

Сначала я создал карту Google:

var hongkong = new google.maps.LatLng(22.28552,114.15769); 

map = new google.maps.Map(document.getElementById('map'), { 
    center: hongkong, 
    zoom: 11, 
}); 

Затем я прочитал данные из JSON файл и сделать карту тепла:

jQuery.getJSON("data.json", function(data) { 
    var heatmapData = []; 
    jQuery.each(data, function(key, val) { 
      heatmapData.push(new google.maps.LatLng(val.fromLocation.lat, val.fromLocation.lng)); 
    }); 

    var heatmap = new google.maps.visualization.HeatmapLayer({ 
      data: heatmapData 
    }); 
    heatmap.setMap(map); 
}); 

Что я получил: enter image description here

Вы ничего не видите. Тогда я просигналить, я получил:

enter image description here

Что я ожидал что-то вроде этого: enter image description here

Что проблема? Являются ли эти данные слишком близкими друг к другу?

Есть ли лучший способ построить карту тепла, чтобы показать распределение такси? Спасибо.

+0

Что содержимое data.json выглядеть? – duncan

+0

'{" fromLocation ": {" lat ":" 22.37898 "," lng ":" 114.108169 "}}' – VICTOR

ответ

1

Ваш JSON-файл имеет широту и долготу в виде строк. Конструктор Google LatLng ожидает, что эти значения будут числами. Попробуйте это, который преобразует их из строки, как "22.37898" к поплавки как 22.37898

heatmapData.push(new google.maps.LatLng(
    parseFloat(val.fromLocation.lat), 
    parseFloat(val.fromLocation.lng)) 
); 
+0

После изменения кода я получил сообщение об ошибке msg: 'Uncaught TypeError: Can not read property 'NaN' undefined visualization_impl.js: 2 – VICTOR

+1

Это проблема с вашими данными. Что означает 'console.log (val)' внутри вашей петли '.each'? – duncan

+0

Ops, проблема решена. Я получил некоторые чистые данные внутри. Большое спасибо! – VICTOR

Смежные вопросы