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 に答える