2014-11-23 53 views
-1

我有緯度和經度的這樣如何從位置的陣列基於傳感器數目

陣列我可以顯示在谷歌地圖所有這些位置,但如何基於傳感器數目顯示一個位置顯示一個位置。

var locations = [ 
     ['Sensor 1', -33.890542, 151.274856, 4], 
     ['Sensor 2', -33.923036, 151.259052, 5], 
     ['Sensor 3', -34.028249, 151.157507, 3], 
     ['Sensor 4', -33.80010128657071, 151.28747820854187, 2], 
     ['Sensor 5', -33.950198, 151.259302, 1] 
    ]; 

回答

0

我看不到您的代碼,所以很難知道。

這裏是一個可行的解決方案,通過調用HTML元素

這將重置與新的標記在地圖上點擊時初始化。

  • 定義初始化()與參數「中選擇」

  • 下方的地圖變量(但內部初始化)製成的標記物,使用先前定義的「選擇」參數,其拾取的數據。

  • 使用的html元素用參數值調用初始化。

否則爲正常Google地圖。

如果我們將來能夠看到您的代碼,它確實很有幫助。

<!DOCTYPE html> 
<html> 
    <head> 
    <style> 
     #map-canvas { 
     width: 500px; 
     height: 400px; 
     } 
    </style> 
    <script src="https://maps.googleapis.com/maps/api/js"></script> 
    <script> 

    var locations = [ 
     ['Sensor 1', -33.890542, 151.274856, 4], 
     ['Sensor 2', -33.923036, 151.259052, 5], 
     ['Sensor 3', -34.028249, 151.157507, 3], 
     ['Sensor 4', -33.80010128657071, 151.28747820854187, 2], 
     ['Sensor 5', -33.950198, 151.259302, 1] 
    ]; 

    function initialize(select) { 
     var myLatlng = new google.maps.LatLng(-33.890542, 151.274856); 
     var mapOptions = { 
     zoom: 9, 
     center: myLatlng 
     } 
     var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
     var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(locations[select][1], locations[select][2]), 
     map: map 
     }); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 

    </script> 
    </head> 
    <body> 
    <p onclick="initialize(0)">Sensor 1</p> 
    <p onclick="initialize(1)">Sensor 2</p> 
    <p onclick="initialize(2)">Sensor 3</p> 
    <p onclick="initialize(3)">Sensor 4</p> 
    <p onclick="initialize(4)">Sensor 5</p> 
    <div id="map-canvas"></div> 
    </body> 
</html>