如何在gmap3中按纬度经度设置位置

时间:2013-08-12 20:09:21

标签: google-maps jquery-gmap3

下午好,   我正在使用插件gmap3(http://gmap3.net),我无法设置您将地图居中的位置并显示标记。

说明:我在数据库中保存纬度和经度的值。例如“-29.165708760531277,-51.51253212137226”。   和另一个屏幕,我想打开显示该位置。   我正在尝试这样做:

   var localizacao = $("#localizacao").text();

        $("#mapEditar").gmap3({
          marker:{
            latLng: [localizacao],
              draggable:true
            },
          },
          map:{
            options:{
              zoom: 16,
              mapTypeId:google.maps.MapTypeId.HYBRID,
            }
          }
        });

其中变量“localizacao”,此值将为经度纬度。

但是使用这种方式,它没有显示地图。   有一个更好的方法吗?   我做错了什么?

谢谢

1 个答案:

答案 0 :(得分:1)

开始时看起来你的代码中有一个额外的大括号

var localizacao = $("#localizacao").text();

$("#mapEditar").gmap3({
      marker:{
        latLng: [localizacao],
          draggable:true
        },
      //}, REMOVED
      map:{
        options:{
          zoom: 16,
          mapTypeId:google.maps.MapTypeId.HYBRID,
        }
      }
    });

为什么latLng不使用[localizacao],这是因为latLng采用逗号分隔的两个单独的参数,如["-29.165708760531277", "-51.51253212137226"]。变量localizacao包含一个“-29.165708760531277,-51.51253212137226”形式的字符串,结果为["-29.165708760531277, -51.51253212137226"],因为只有一个参数,所以不起作用。

var lat = $("#localizacao_lat").text();
var lng = $("#localizacao_lng").text();

$("#mapEditar").gmap3({
      marker:{
        latLng: [lat, lng],
          draggable:true
        },
      map:{
        options:{
          zoom: 16,
          mapTypeId:google.maps.MapTypeId.HYBRID,
        }
      }
    });

以下是可能有用的JSFiddle:)