Как получить имя зоны прохождения Google Map? - PullRequest
0 голосов
/ 19 марта 2011

Я хочу отобразить карту Google на основе названия зоны.Я получаю название зоны на моей странице JSP (например, Китайское озеро, Калифорния - США).Мне нужно передать это и отобразить Google Map.Как сделать это через Google JavaScript API?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 19 марта 2011

Я нашел решение.вот мой код:

<script type="text/javascript">

var map = null;
var geocoder = null;

function initialize() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    map.setUIToDefault();
    geocoder = new GClientGeocoder();
    showAddress("Melapalayam,Tirunelveli,Tamilnadu");
  }
}

function showAddress(address) {
  if (geocoder) {
    geocoder.getLatLng(
      address,
      function(point) {
        if (!point) {
          alert(address + " not found");
        } else {
          map.setCenter(point, 15);
          var marker = new GMarker(point, {draggable: true});
          map.addOverlay(marker);
          GEvent.addListener(marker, "click", function() {
              alert(address);
          });

        }
      }
    );
  }
}
window.onload = initialize;


    </script>
  • Гнанияр Зубаир
0 голосов
/ 19 марта 2011

Вы пытались передать zonename в качестве местоположения в функцию getLocations геокодера?

Дайте нам знать, сработало ли это.

РЕДАКТИРОВАТЬ: Извините, 1 минуту, удерживайте Я опубликую некоторую распечатку.

function userLocSearch(location){
    userInput = location;
    if (GBrowserIsCompatible()) {
        geocoder = getGeocoder();
        geocoder.getLocations(location,  function(responce){
            if(responce.Status.code==200){
                if(responce.Placemark.length==1){
                    //just one result
                    mapInit(responce.Placemark[0].Point.coordinates[1],responce.Placemark[0].Point.coordinates[0],14);
                }else{
                    //more than one result
                    mapInit(responce.Placemark[0].Point.coordinates[0],responce.Placemark[0].Point.coordinates[1],14);
                    updateInfoText(responce.Placemark.length);
                }
            }else{
            //error
            //no result
                geocoder.getLocations("USA",  function(responce){
                    mapInit(responce.Placemark[0].Point.coordinates[1],responce.Placemark[0].Point.coordinates[0],6);
                });
            }
        });
    }else{
        //TODO 
        //browser not compartible
    }
    return false;
}

mapInit - вот еще одна из моих функций. Тот, который инициализирует карту. Тот, который я вставил, предназначен только для получения требуемых геокурдинатов по строке поиска

...