2015-03-12 2 views
0

У меня возникли проблемы с выяснением того, как вызвать Google Places API с Android. В частности, я сейчас смотрю на вызов nearbysearch.Google Места рядом с Android?

Это полный URL, как он отправляется (минус мой ключ API)

https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=49.7088,-124.9712&radius=3000&sensor=true&key=YourAPIKeyHere 

Я получаю эту ошибку возвращается:

<error_message>This IP, site or mobile application is not authorized to use this API key.</error_message> 

Я прошел через весь процесс в Google Developers Console с точки зрения получения ключа API, добавления моего приложения в разрешенный список, добавления библиотеки (google-play-services_lib) и настроек в мой проект, добавления записей манифеста api и gms.version в манифест, но это все еще не удается.

Чтобы проверить эту часть установки, я добавил карту Google в ту же самую активность, и она отображается правильно - это означает, что мое приложение правильно находится в разрешенном списке и что мой ключ API правильный (это ресурс String это используется в манифесте, а также в URL-адресе), иначе карта не будет отображать какую-либо графику.

Вопрос: Как я могу позвонить в Google Адреса рядом с Android?

Спасибо!

+0

пс Этот вопрос (URL в конце) выглядит аналогично, но через несколько лет из даты - статьи, на которые он ссылается, не работают, что дает мне то же сообщение об ошибке. http://stackoverflow.com/questions/3830149/using-google-places-api-in-android –

+0

У меня есть подозрение, что он не поддерживается непосредственно с Android, и вместо этого мне нужно использовать API сервисов Google Play. , который всего неделю назад (2 марта 2015 г.) выпустил v7 с первым битом функциональности Google Адресов: http://android-developers.blogspot.ca/2015/03/google-play-services-70-places-everyone .html –

ответ

1

Думаю, вы смешиваете некоторые из инструментов здесь. API Google Places не требует дополнительных библиотек. Вам не нужно иметь Google Play Services в вашем приложении. Это просто http-вызов.

сделал просто объявил, что они добавляют API-интерфейсы Place для Play Services, которые в конечном итоге должны заменить HTTP-API, но вам не нужно его использовать, и я даже не видел документацию, просто объявление.

Во-первых, вот ссылка на инструкции API Адресов: https://developers.google.com/places/documentation/#Authentication

Убедитесь, что когда вы смотрите на ваши учетные данные, ваш Android ключ говорит, «Разрешено любое приложение».

Credential Example

Вот пример реализации в Java с использованием открытого исходного класса HTTP называется WebRequest:

String TempSQL = "https://maps.googleapis.com/maps/api/place/nearbysearch/xml?" 
          + GMapI_Key 
          + "&location=" + coordinatesString 
          + "&rankby=distance&types=establishment&name=" 
          + placeName; 
      new WebRequest().get().to(TempSQL).executeAsync(new WebRequest.Callback() { 
       public void onSuccess(int responseCode, String responseText) { 
        //Your code here 
       } 
       public void onError() { 
        //throw new RuntimeException("NoWebResponse"); 
       } 
      }); 
+1

Спасибо! Я действительно занимался слишком многою работой - я не понимал, что могу отказаться от конкретных приложений для Android. Оставляя этот пробел, он соответствует тому, что вы показываете на картинке «Любое приложение разрешено», и теперь работает звонок в Google Адресах. –

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