2012-03-07 17 views
3

マップ/ビューポート内のヒットのみを返すよう検索します。 英国を拡大し、地図の境界線でロンドンを検索しますが、 の応答も米国で3ヒットを返します。どのように検索を制限できますか?Googleマップ - 境界線/ビューポート内で検索

コード:

function codeAddress(){ 
    geocoder = new google.maps.Geocoder(); 
    var address = document.getElementById("inputAddress").value; 
    var bounds = map.getBounds(); 
    geocoder.geocode({address: address, bounds: bounds}, function(results, status){ 
     if(status == google.maps.GeocoderStatus.OK){ 
      // put markers on each hit 
     } 
    }); 
} 

答えて

0

私は結果を制限することにより、あなたは右の関連するマーカーをプロットしようとしていると仮定していますか?

検索を直接制限するのではなく、間接的なアプローチを試すことができます。あなたは、この方法は、マップの境界に)(が含ま呼ば使用できる場合はループでif(status == google.maps.GeocoderStatus.OK){ // put markers on each hit }

、のようなので、RESULT-LOCATION結果の位置である

if(status == google.maps.GeocoderStatus.OK) { 
     if(map.getBounds().contains(RESULT-LOCATION)) { 
      // put markers on each hit 
     } 
    } 

ジオコード要求から返されます。この方法では、マーカはマップ境界内にのみプロットされます。

これが役に立ちます。

関連する問題