2013-12-20 4 views
1

привет Я пытаюсь получить информацию о землетрясении, когда пользователь вводит город в карту. Прямо сейчас я создаю ограничивающий прямоугольник с помощью hardcoding (требуется для geonames earthquake api). Я хотел бы сделать ограничивающий прямоугольник размером с город. Я вижу в геокодер апи v3, чтобы сделать это:Как создать ограничивающий прямоугольник генерировать динамически в геоданных и геокодировании api

var geocoder = new google.maps.Geocoder(); 
    geocoder.geocode({ 'address': address}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
     map.setCenter(results[0].geometry.location); 
     map.fitBounds(results[0].geometry.viewport); 
     } 
    }); 

проблемно это не позволит мне получить на северо-восток юго-запад, который GEONAMES потребности. кто-нибудь знает как?

мой текущий код

var address = document.getElementById("address").value; 
      geocoder.geocode({ 'address': address}, function(results, status) { 
       if (status == google.maps.GeocoderStatus.OK) { 
        // Calculate bounding box based on the given address 
        var north = results[0].geometry.location.lat() + .5; 
        var south = results[0].geometry.location.lat() - .5; 
        var east = results[0].geometry.location.lng() + .5; 
        var west = results[0].geometry.location.lng() - .5; 

        var earthquake = 'http://api.geonames.org/earthquakesJSON?north=' + north + '&south=' + south + '&east=' + east + '&west=' + west + '&username=*****'; 

+5 -5 что расширяет число в координатах создать север юг .... и т.д.

ответ

1

Вы хотите использовать результат [0 ] .geometry.viewport которая является google.maps.LatLngBounds object

var north = results[0].geometry.viewport.getNorthEast().lat(); 
var south = results[0].geometry.viewport.getSouthWest().lat(); 
var east = results[0].geometry.viewport.getNorthEast().lng(); 
var west = results[0].geometry.viewport.getSouthWest().lng(); 

fixed fiddle

fiddle with return message from geonames

fiddle with hard-coded data that shows markers

+0

Спасибо за это я искал в документации в течение длительного времени, лол –

+0

у меня есть еще один вопрос. У моего старого кода были маркеры для каждого землетрясения, теперь использующего объекты latlngbounds, они уже давно не имеют причин, почему это может быть? –

+0

Не знаю. Каков фактический URL-адрес, который вы отправляете? Вы получаете ошибки javascript? Как выглядит код для отображения землетрясений? – geocodezip

 Смежные вопросы

  • Нет связанных вопросов^_^