как получить результаты JSON на Google Maps? - PullRequest
3 голосов
/ 17 декабря 2011

Я создаю простые приложения, используя html5 и java-скрипт. Я хочу показать ближайшие места любого города так что я уже установил длинный и лат страны.

Если пользователь нажимает на школу, я хочу показать все названия школ, ближайшие к длинным и лат с радиусом.
Если пользователь нажимает на церковь, я хочу показать все названия церквей, ближайших к длинному и лат с радиусом.
Если пользователь щелкнет больницу, я хочу показать все названия больниц, ближайших к длинному и лат с радиусом. и т.д.

У меня есть только эта ссылка и пример кода:

https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=AIzaSyC1BIAzM34uk6SLY40s-nmXMivPJDfWgTc


$.getJSON("https://maps.googleapis.com/maps/api/place/search/json?",{
        location:"-33.8670522,151.1957362",
        radius: 500,
        types:'food',
        name: 'harbour',
        sensor: false,
        key: 'AIzaSyC1BIAzM34uk6SLY40s-nmXMivPJDfWgTc'
        format: "json"  
    },
    function(data) {
      $.each(data.results, function(i,item){
      $("<img/>").attr("src", results.name).appendTo("#images");
      if ( i == 3 ) return false;
    });
  }); 

так, где я хочу изменить, чтобы получить название места. изначально что мне делать?

1 Ответ

1 голос
/ 18 декабря 2011

Maps v3 в настоящее время не поддерживает callback / JSONP из jQuery get / getJSON

http://www.quora.com/Why-doesnt-the-Google-Maps-API-support-JSONP

Тем не менее, если у вас есть терпение, попробуйте посмотреть

http://code.google.com/intl/no-NO/apis/maps/documentation/javascript/services.html#Geocoding

Чтобы загрузить асинхронный, вам нужно сделать что-то вроде этого:

function loadScript() {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "http://maps.googleapis.com/maps/api/js?sensor=false&callback=initialize";
  document.body.appendChild(script);
}

http://code.google.com/apis/maps/documentation/javascript/basics.html#Async


Если нет, вот чтоЯ предлагаю.

ИСПОЛЬЗОВАНИЕ ПРОКСИ:

Если кто-то не может найти новый ресурс, показывающий, как это сделать с помощью jsonp (я мог только найти ресурсы, сообщающие, что это неподдерживается) способ написать прокси.

Это работает ОТ ТОГО ЖЕ СЕРВЕРА

DEMO

HTML:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script>
$(document).ready(function() {
  $.getJSON("googleapijson.php?type=food",
    function(data, textStatus){
      $.each(data.results,function(i, item) {;
       $("#placenames").append(i+':'+item.vicinity+'<br/>');
    });
  });
});
</script>
</head>
<body> 
 <div id="placenames"></div>
</body>
</html>

PHP:

<?PHP

header("Content-type: application/json");

/** note you need to grab and clean the parameters from the   
 *  get/post request and build your querystring:   
 */

$type = $_GET["type"]; // this needs to be cleaned

$URL="https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&radius=500&types=".$type."&name=harbour&sensor=false&key=AIzaSyC1BIAzM34uk6SLY40s-nmXMivPJDfWgTc"

$json = file_get_contents($URL);

echo $json;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...