谷歌地图Api标记数组node.js

时间:2014-02-06 19:35:31

标签: javascript arrays node.js google-maps-api-3 google-maps-markers

我正在尝试传递一个将数组带到google maps api v3的函数。 这是我的代码:

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是一个函数,正如它所说,将数据转换为谷歌将接受的格式。它起作用并返回这样的坐标:

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

现在的问题是,即使地图加载它也不会显示标记。

1 个答案:

答案 0 :(得分: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});
    });
}
相关问题