2

我是 gmap3 的新手,是否可以使用地点地址来初始化 gmap3?我通常知道它是用纬度和经度完成的。我已经使用这个例子用这个位置名称做了标记。我也已经完成了这个例子,但没有运气。而且我还需要缩放选择的地方,为此我使用自动完成。

我的代码如下

 $('#test').gmap3(
     { action:'init',
         options:{
             address: "kerala,india"
         }
     }

 );
4

4 回答 4

4

首次用于getLatLng()检索位置,成功设置中心后:

   $('#test1').gmap3(
    { action : 'getLatLng',
      address:'kerala,india',
      callback : function(result){
        if (result){
          $(this).gmap3({action: 'setCenter', args:[ result[0].geometry.location ]},
                        {action: 'setZoom', args:[ 12]});
      } else {
      alert('not found !');
      }}});
于 2012-05-25T10:59:43.240 回答
2
var add="kerala,india";
var geocoder = new google.maps.Geocoder();

geocoder.geocode({ address: add, region: 'no' },
function (results, status) {
 if (status.toLowerCase() == 'ok') {
    // Get center
    var coords = new google.maps.LatLng(
        results[0]['geometry']['location'].lat(),
        results[0]['geometry']['location'].lng()
    );
    //alert(coords);
    $map.gmap3("get").setCenter(coords);
    $map.gmap3("get").setZoom(12);
    addMarker(coords);
 }
 else {
    alert("address not found");
 }
}    

function addMarker(marker) {
    $map = $('#googleMap');
    if (marker) {
        $map.gmap3(
            { action: 'init',
                options: {
                    center: eval(marker),
                    zoom: 12,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                }
            },
            { action: 'addMarker',
                latLng: eval(marker),
                options: {
                    draggable: true,
                    icon: new google.maps.MarkerImage('http://maps.google.com/mapfiles/marker.png')
                },
                events: {
                    dragend: function (mark) {
                        updateMarker(mark);
                    }
                }
            });
    }
}

使用上面的代码,您还可以获得纬度/经度并拖动搜索到的位置标记。

于 2012-07-25T06:33:50.233 回答
1

此功能将在下一个版本(5.0)中,当前未更新,

这是一个工作代码:

  $('#test1').gmap3({ 
    action : 'getLatLng',
    address:'kerala,india',
      callback : function(result){
        if (result){
          $(this).gmap3({
            action: "init",
            options:{
                center: result[0].geometry.location,
                zoom: 12
            } 
        });
      } else {
        alert('not found !');
      }
    }
});

注意,如果你的地图已经初始化,你可以在回调中使用

    $(this).gmap3("get").setCenter(result[0].geometry.location);
    $(this).gmap3("get").setZoom(12);
于 2012-06-19T09:37:36.193 回答
0

您也可以使用以下代码:

var markerData = [];
markerData.push({ address: 'kerala,india', data: '' });
$('#test').gmap3({
   action: 'addMarkers',
   markers: markerData
   }
);
于 2012-07-29T13:33:53.187 回答