0

我想通過一個函數,帶來一個數組到谷歌地圖api v3。 這裏是我的代碼:谷歌地圖Api標記陣列node.js

function buscarCoords(callback){ 
     var result = result; 
     connection.query('SELECT * FROM monitoreo_actual', function(err, result){ 
     if(err){ 
      console.log(err); 
     } 
      callback({result:result}); 
     }); 
} 

function initialize() { 
      //var location = new google.maps.LatLng(10.191, -68.191); 
     var mapOptions = { 
      center: new google.maps.LatLng(10.191, -68.191), 
      zoom: 8, 

     }; 
     var map = new google.maps.Map(document.getElementById("map-canvas"), 
      mapOptions); 

     marker = new google.maps.Marker({ 
      position: buscarCoords(function(resultsObject){ 
         new google.maps.LatLng(ConvertFromGrdToGoogle(resultsObject.result).LtLn); 
         }), 
      map: map 
     }); 

     } 

在這段代碼,ConvertFromGrdToGoogle是一個功能,因爲它說,轉換datato,谷歌將接受的格式。它的工作原理和返回像這樣的座標:

[ '10.1850, -68.334', 
    '10.1850, 68.334', 
    '10.1853, -68.334', 
    '10.1853, -68.334' ] 

現在的問題是,即使地圖加載它不顯示標記。

+0

A [google.maps.LatLng(HTTPS:/ /developers.google.com/maps/documentation/javascript/reference#LatLng)以兩個數字作爲參數。不是帶有逗號的字符串(或這種字符串的數組)。 – geocodezip

回答

0

你需要時,你從數據庫獲取數據來創建標記,該代碼應該爲你的作品,你可以看到工作http://jsfiddle.net/victorv977/vX3Lc/

function initialize() { 
//var location = new google.maps.LatLng(10.191, -68.191); 
var mapOptions = { 
    center: new google.maps.LatLng(10.191, -68.191), 
    zoom: 8 
}; 

var map = new google.maps.Map(document.getElementById("map-canvas"), 
           mapOptions); 

buscarCoords(function(resultsObject) { 
    var coordsArray = ConvertFromGrdToGoogle(resultsObject.result); 
    for (var i = 0; i < coordsArray.length; i++) { 
     var coords = coordsArray[i].split(", "); 
     new google.maps.Marker({ 
      position: new google.maps.LatLng(parseFloat(coords[0]), parseFloat(coords[1])), 
      map: map 
     }); 
    }; 

}); 
} 

function buscarCoords(callback) { 
    var result = result; 
    connection.query('SELECT * FROM monitoreo_actual', function(err, result){ 
     if(err){ 
      console.log(err); 
     } 
     callback({result:result}); 
    }); 
} 
+0

你在那裏做了什麼很棒,其實我真的認爲它會工作,但它仍然沒有:S – arrigonfr

+0

地圖加載和一切,但它仍然不會顯示標記 – arrigonfr

+0

我敢肯定,問題是標記來自回調函數「buscarCoords」內部,所以初始化函數不會讀取它們。太糟糕了我在範圍上很生鏽...我不知道我是否可以在回調中調用變量,從外面看它 – arrigonfr