[英]Load Heatmap LatLng Coordinates Google Maps API from MySQL database
I have project GIS. 我有项目GIS。 I want to create a hotspot crime mapping using Google Heatmap from Google Maps API. 我想使用Google Maps API中的Google Heatmap创建热点犯罪地图。 I have bunch of data of set crime location (including latitude and longitude) on MySQL database. 我在MySQL数据库上有一堆设置犯罪位置(包括纬度和经度)的数据。 I have read on Google Maps API Doc example: https://developers.google.com/maps/documentation/javascript/heatmaplayer . 我已经阅读了Google Maps API文档示例: https : //developers.google.com/maps/documentation/javascript/heatmaplayer 。
There is an example creating Heatmaps using function getPoints(), but with LatLng hardcoded, not from a database. 有一个使用getPoints()函数创建Heatmaps的示例,但是使用LatLng进行了硬编码,而不是从数据库中创建。 Any possible way to load LatLng from SQL database and array to new google.maps.LatLng? 从SQL数据库和数组将LatLng加载到新的google.maps.LatLng的任何可行方法?
This is my Heatmap Google Maps API source code: 这是我的Heatmap Google Maps API源代码:
<script async defer src="https://maps.googleapis.com/maps/api/js?key=API&libraries=visualization&callback=initMap"> <div id="floating-panel"> <button onclick="toggleHeatmap()">Toggle Heatmap</button> <button onclick="changeGradient()">Change gradient</button> <button onclick="changeRadius()">Change radius</button> <button onclick="changeOpacity()">Change opacity</button> </div> <div id="map"></div> <script> var map, heatmap; function initMap() { map = new google.maps.Map(document.getElementById('map'), { zoom: 2, center: {lat: 51.508530, lng: -0.076132}, mapTypeId: 'satellite' }); heatmap = new google.maps.visualization.HeatmapLayer({ data: getPoints(), map: map }); } function toggleHeatmap() { heatmap.setMap(heatmap.getMap() ? null : map); } function changeGradient() { var gradient = [ 'rgba(0, 255, 255, 0)', 'rgba(0, 255, 255, 1)', 'rgba(0, 191, 255, 1)', 'rgba(0, 127, 255, 1)', 'rgba(0, 63, 255, 1)', 'rgba(0, 0, 255, 1)', 'rgba(0, 0, 223, 1)', 'rgba(0, 0, 191, 1)', 'rgba(0, 0, 159, 1)', 'rgba(0, 0, 127, 1)', 'rgba(63, 0, 91, 1)', 'rgba(127, 0, 63, 1)', 'rgba(191, 0, 31, 1)', 'rgba(255, 0, 0, 1)' ] heatmap.set('gradient', heatmap.get('gradient') ? null : gradient); } function changeRadius() { heatmap.set('radius', heatmap.get('radius') ? null : 20); } function changeOpacity() { heatmap.set('opacity', heatmap.get('opacity') ? null : 0.2); } // This is the LatLng I meant, any possible way to load these from a database? function getPoints() { return [ new google.maps.LatLng(40.761916,-73.9228569), new google.maps.LatLng(42.35047,-71.07613), new google.maps.LatLng(42.3456382751,-71.0715713501), new google.maps.LatLng(42.3429222107,-71.078666687), new google.maps.LatLng(42.3450012207,-71.0808029175), new google.maps.LatLng(42.3429222107,-71.078666687), new google.maps.LatLng(42.35521698,-71.0732955933), new google.maps.LatLng(42.35521698,-71.0732955933), new google.maps.LatLng(42.3903999329,-71.1128997803), new google.maps.LatLng(42.3641662598,-71.0299758911), new google.maps.LatLng(43.6952018738,-79.285987854), new google.maps.LatLng(40.7427902222,-73.9834136963), new google.maps.LatLng(43.6991958618,-79.2756347656), new google.maps.LatLng(41.9590682983,-87.7312164307) ] } </script>
Yes, You need to do following: 是的,您需要执行以下操作:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.