1

下午好,我正在使用插件 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”,该值将是经度纬度。

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

谢谢你

4

1 回答 1

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 :)

于 2013-08-12T20:52:58.870 回答