0

Google Maps API の Geocoder サービスを使用して、地図上の検索ボックスを強化しています。ユーザーが住所、都市、座標など、サポートされているもので自由に検索できるようにしたいと考えています。最近まで、緯度/経度の座標をジオコーダーに渡すと、特定の座標の結果が返されるだけでしたが、最近では、逆ルックアップを実行して座標に最も近い住所を提供するように変更されました。それが最も関連性があるので、実際には座標に直接位置が必要です。

検索ボックスからさまざまな入力形式の座標を解析する方法、またはジオコーダーを以前の動作に戻す方法はありますか?

4

2 に答える 2

0

入力された入力がlat/lngペアであるかどうかを確認するために、正規表現を使用するだけではありませんか?そして、そのペアを解析して、座標に直接移動する場合。何かのようなもの:

  var latLngRegex =   /^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/; //Regex for checking that it is a latlng pair that has been entered

  var address = document.getElementById("txt_googlesearch").value;
  if (address=='' || address=='Search') {
    return;
  }
  if (latLngRegex.test(address)) //Run the regex against the entered value
  {
    var coords = address.split(","); //Split the address into 2 decimal values
    var mapPoint = new GLatLng(parseInt(coords[0]), parseInt(coords[1]));  //Create a gLatLng from the split values
    map.setCenter(mapPoint); //Move the map to the entered location
    return;
  } 
  //Call Geocoder as before
于 2012-04-20T04:03:35.310 に答える
0

コードを見ずに逆ジオコーディングを表示するように変更された理由がわかりません。ただし、代わりに Places API LibraryのAutocomplete 機能を使用することをお勧めします。

于 2012-04-19T21:18:04.510 に答える