Вопросы с тегами [google-places]

0

голосов
0

ответ
4

Просмотры

Как получить точки зрения конкретного места с помощью Карт Google

Я хочу использовать Google Places подсказки - за один сеанс, с Place Деталь включена, и когда пользователь нажимает на элементе, отображение Google Map Streetview с Place. Как я пытался сделать, это: когда пользователь нажимает на автозаполнения-лист, я использую функцию getPlace () для получения geometry.coordinates (лат и длинные), и инициализировать Google Map Street View с этой информацией. Проблема в том, начальная точка зрения Google Map Street View, который является случайным. Вы знаете, как я могу решить эту проблему? Я думаю, что я не могу получить эту информацию с Place деталью. Есть ли другой путь? Спасибо!
David Manso
1

голосов
3

ответ
516

Просмотры

Проверка PlaceAutocompleteFragment в андроиде

Я пытаюсь для проверки PlaceAutocompleteFragment в андроид. Я хотел бы добавить тост, если он пуст, если оно не пусто, то я хочу, чтобы сделать некоторую обработку. Вот мой PlaceAutocompleteFragment. Есть ли прослушиватель событий я могу приложить, чтобы проверить, если не выбрано Место? FYI это API Google Адресов для Android Окончательный PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment) getFragmentManager () findFragmentById (R.id.place_autocomplete_fragment). autocompleteFragment.setOnPlaceSelectedListener (новый PlaceSelectionListener () {@Override общественный недействительный onPlaceSelected (место место) {// TODO:. Получить информацию о выбранном месте} @Override общественного недействительный OnError (статус Status) {// TODO:. Обрабатывать ошибки вход .i ( «произошла ошибка», статус. нанизывать()); }});
travellingSalesMan26
1

голосов
0

ответ
263

Просмотры

API Google Адресов для больниц

Я использую Google Places API для поиска близлежащей больницы с места. Моя проблема заключается в том, что я хочу, чтобы получить известные и большие больницы, но проблема заключается в API является выборка клиник и даже стоматологические клиники тоже. Как я могу быть более конкретным? Запрос URL: https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=24.9044526,67.077706&type=hospital&radius=500&key=[API_KEY] Несмотря на то, что они не известны даже медицинские учреждения при условии, что там не достаточно для экстренного случая. Я также попытался увеличения радиуса, но получил такой же ответ.
Asad Marfani
1

голосов
0

ответ
28

Просмотры

Android - Google размещает API | как desable выбрать место из панели поиска

им с помощью Android - Google API Адресов я хочу использовать его строку поиска только для поиска - означает: при поиске пользователь место на панели поиска, когда он нажмите на панель поиска предложений я не хочу, чтобы выбрать это место как результат, я просто хочу, чтобы перейти к этому месту на карте, чтобы он мог убедиться, что его его правильное место, и он мог выбрать его кнопку выбора частной ничтожной startPickerEntity () {PlacePicker.IntentBuilder intentBuilder = новый PlacePicker.IntentBuilder (); попробуйте {Намерение Намерение = intentBuilder.build (это); startActivityForResult (намерение, 1); } Задвижка (Исключение е) {e.printStackTrace (); }} @Override защищен недействительным onActivityResult (Int, Int requestCode ResultCode, Намерение данных) {если (requestCode == 1 == & ResultCode RESULT_OK) {displayResults (данные); }} частный недействительный displayResults (Намерение данные) {место selectedPlace = PlacePicker.getPlace (данные, это); Строка название = selectedPlace.getName () ToString (). Строка адреса = selectedPlace.getAddress () ToString (). TextView txtView = (TextView) findViewById (R.id.lblLoactionDetails); txtView.setText (имя + "**" + адрес); }
ahmed kamal
1

голосов
0

ответ
38

Просмотры

Bad Google Места данных

Я использую конечную точку autocompleteQuery в режиме адреса фильтра в моем приложении, чтобы позволить пользователям искать для мест. Когда они выбирают место, я звоню lookUpPlaceID конечную точку, чтобы получить подробную информацию о том месте, а затем разбор возвращаемые компоненты адреса, чтобы попытаться извлечь номер улицы + имя. Я пришел через какую-то странность, что, кажется, не в отчетности через обычные каналы: Google место идентификатора ChIJUcZ-NbzMj4ARC4FFj9ogS3s является «Сан-Хосе Сити Холл» ... он имеет множество адресов, но не отображается при поиске с «адресом »фильтр. Google место идентификатор ChIJm-FhNrzMj4ARvjjHMCiJdM8 является «Сан-Хосе Сити Холл» ... это не имеет адреса, но появляется при поиске с фильтром «адрес». Я не могу использовать их «редактировать это место» инструмент, потому что он не признает ChIJm-FhNrzMj4ARvjjHMCiJdM8, как на самом деле быть место.
Eric
1

голосов
0

ответ
34

Просмотры

Более зернистое API Google Адресов

Мне нужен API, который будет возвращать адреса, которые включают в себя меткие номера, если доступно. Возможно ли это с Google Places API? Если нет, то есть рекомендованная API для этого?
PotatoPeanut
1

голосов
2

ответ
286

Просмотры

С помощью Google Places Library показать все маркера местоположения в течение заданного ключевого слова с Google Maps и ионическим

Я хочу, чтобы отобразить маркер для каждого результата поиска места на моей карте, но он не работает. --- EDIT --- Я пытался отладки выяснить, что мне не хватает и почему маркеры не отображаются, но я не могу понять это. Даже если ответ очевиден, я не мог бы быть в состоянии видеть это с тем, что я в настоящее время. Я редактировал код немного с функцией setMarker () и опционами маркеров, который будет отображаться на карте, созданной, но это не кажется, ответ, почему маркеры обыкновения появляться. Я не должен создавать маркеры в определенных широт и долгот, но вместо того, чтобы искать область вокруг текущего местоположения с использованием заданного ключевого слова поиска, которые в этом случае будет «McDonalds» (это ключевое слово поиска используется для тестирования). map.html: Карта map.ts: объявить уаг Google: любой; @Component ({селектор: 'страница-карта', templateUrl: 'map.html'}) экспорт класса OfficeLocatorPage {@ViewChild (Navbar) NavBar: Navbar; @ViewChild ( 'карта') mapElement: ElementRef; карта: любая; MapOptions: любой; InfoWindow: любой; trafficEnabled = ложь; transitEnabled = ложь; bicycleEnabled = ложь; Маркеры = []; trafficLayer = новый google.maps.TrafficLayer (); transitLayer = новый google.maps.TransitLayer (); bicycleLayer = новый google.maps.BicyclingLayer (); конструктор (частный navCtrl: NavController, частная платформа: Платформа, частные геолокации: геолокация) {} ionViewDidLoad () {this.navBar.backButtonClick = (е: UIEvent) => {This.navCtrl.pop ({анимировать: истинная, анимацию: "переход", направление: "левый", продолжительность: 300}); }; } IonViewDidEnter () {this.platform.ready (), а затем (() => {this.loadMap ();.}); } LocationClick () {this.geolocation.getCurrentPosition ({maximumAge: 3000, тайм-аут: 5000, enableHighAccuracy: истинный}). Затем ((соответственно) => {пусть MyLocation = новый google.maps.LatLng (resp.coords.latitude, resp.coords.longitude); this.map.setCenter (MyLocation);}); } CompassClick () {this.map.animateCamera ({цель: this.map.getCameraTarget (), угол наклона: 0, подшипник: 0, продолжительность: 1000}); } TrafficClick () {если (this.transitEnabled == истина) {this.transitClick (); this.trafficEnabled = TRUE; this.trafficLayer.setMap (this.map); } Еще если (это. trafficEnabled == FALSE) {this.trafficEnabled = TRUE; this.trafficLayer.setMap (this.map); } Еще {this.trafficEnabled = ложь; this.trafficLayer.setMap (нуль); }} TransitClick () {если (this.trafficEnabled == истина) {this.trafficClick (); this.transitEnabled = TRUE; this.transitLayer.setMap (this.map); } Иначе, если (this.transitEnabled == FALSE) {this.transitEnabled = TRUE; this.transitLayer.setMap (this.map); } Еще {this.transitEnabled = ложь; this.transitLayer.setMap (нуль); }} BicycleClick () {this.bicycleEnabled = this.bicycleEnabled!; если (this.bicycleEnabled) {this.bicycleLayer.setMap (this.map); } Еще {this.bicycleLayer.setMap (нуль); }} LoadMap () {this.geolocation.getCurrentPosition ({maximumAge: 3000, . Тайм-аут: 5000, enableHighAccuracy: истинно}), то ((соответственно) => {пусть MyLocation = новый google.maps.LatLng (resp.coords.latitude, resp.coords.longitude); this.map = новые google.maps. Карта (document.getElementById ( 'карта'), {зум: 10, центр: MyLocation, disableDefaultUI: истинный});}); пусть часы = this.geolocation.watchPosition (); watch.subscribe ((данные) => {this.deleteMarkers (), пусть updatelocation = новый google.maps.LatLng (data.coords.latitude, data.coords.longitude), пусть образ = {URL: «активы / значок / blue_dot.png», // URL scaledSize: новый google.maps.Size (25, 33), // масштабируется размером происхождение: новый google.maps.Point (0,0), // происхождение якорное: новые Яндекс.Карты. Точка (0, 0) // анчо}; this.addMarker (updatelocation, изображение); this.setMapOnAll (this.map);}); Запрос вар = {запроса: 'Макдональдс', поля: [ 'фото', 'formatted_address', 'имя', 'рейтинг', 'opening_hours', 'геометрия']}; пусть обслуживание = новое google.maps.places.PlacesService (this.map); service.findPlaceFromQuery (запрос, обратного вызова); Функция обратного вызова (результаты, статус) {если (статус == google.maps.places.PlacesServiceStatus.OK) {для (пусть я = 0; г <results.length; я ++) {пусть placeLoc = Результаты [I] .geometry. место нахождения; this.addMarker (placeLoc, 'красный'); }} This.setMapOnAll (this.map); }} AddMarker (расположение, изображение) {пусть маркер = новый google.maps.Marker ({позиция: места расположения, карты: this.map, значок: изображение}); this.markers.push (маркер); } SetMapOnAll (карта) {для (вар я = 0; г <this.markers.length; I ++) {this.markers [I] .setMap (карта); }} clearMarkers () {this.setMapOnAll (нуль); deleteMarkers} () {this.clearMarkers (); this.markers = []; }}
Noah Tanenholtz
1

голосов
0

ответ
102

Просмотры

Можно ли получить отзывы о месте API Google Адресов от TripAdvisor, Yelp и Foursquare либо с помощью бэкенд сервера API или в IOS Swift?

Я хочу, чтобы показать отзывы о местах получить от API Google Адресов также путем получать отзывы о местах от других третьих сторон ставит апи, такие как TripAdvisor, Yelp и Foursquare. Поскольку каждый API третьей стороны использовать свою собственную конвенцию Place Id, названия и другой способ доступа к данным через API. Я хочу знать, можно ли получить отзывы о месте этих третьих лиц API Адресов либо с помощью бэкенд сервера API или в IOS Swift?
H S Progr
1

голосов
0

ответ
36

Просмотры

Как Google API места работы внутри для Android / КСН?

Создание много неровных хиты API, находя места, например: - найти Манчестер, используя API набрав «M» и «A» рассчитывает на 2 удара, нажмите на подсчетах «Манчестер» до 3 ударов ИППЫ счета увеличивается после многих запросов сделали. Есть ли какие-либо API Google Адресов хиты, сделанные на mGoogleApiClient.connect ();
garry
1

голосов
0

ответ
79

Просмотры

2-буквенное состояние аббревиатура для Android Места

Как вы можете получить двухбуквенную аббревиатуру от места, возвращенного в API-интерфейсы Google для Android для мест в США? Geocoder.getFromLocation обеспечивает полное название государства в Address.getAdminArea. Есть ли преобразовать имя состояния его аббревиатура? Или решение, которое не связано с Geocoder вообще?
Edward Brey
1

голосов
2

ответ
93

Просмотры

Google Places API ключ истекает после того, как работает один раз

Я только что создал проект в Google Places API и получил key.I попробовал один из их выборки запроса в браузере. Он работал отлично один раз. Но как только я запускаю его снова, я получаю ниже ошибки { «ERROR_MESSAGE»: «Вы превысили суточную запрос квоту для этого API Если вы не установили обычай ежедневного запрос квоты, проверьте ваш проект имеет активный платежный аккаунт.: http://g.co/dev/maps-no-account», "html_attributions": [], "статус": "OVER_QUERY_LIMIT"} Это кажется странным. Что мне не хватает?
nad
1

голосов
1

ответ
413

Просмотры

CORS вопрос о вызове API Google Адресов в угловом 6 с материалом

Я пытаюсь реализовать Google список мест модели в угловом 6 с материалом, я звоню API Google Адресов, но я получаю CORS вопрос, как показано ниже, не удалось загрузить https://maps.googleapis.com/maps/api/place/ ? автозаполнение / JSON вход = хе и язык = еп ответа на предполетный запрос не проходит проверку контроля доступа: нет «Access-Control-Allow-Origin» заголовок присутствует на запрошенный ресурсе. Происхождение «локальный: 4200», следовательно, не имеет права доступа. мой код, как показано ниже, {{place.description}} getUserPLaces (значение: любая) {this.searchLocationService.loadUserPlaces (значение, this.latitude, this.longitude) .subscribe ((данных) => {this.listOfPlaces = данные [ 'предсказания'];}); } loadUserPlaces (ключ, широта, долгота) {вернуть this.httpClient.get ( `https://maps.googleapis.com/maps/api/place/autocomplete/json?input=$ {ключ} & язык = en`); } Как решить проблему Корса здесь, я знаю, что при отключении хромовых функций безопасности и некоторые расширений, мы можем избежать этой проблемы. Так как мое приложение будет идти в производство, и я хочу, чтобы решить эту проблему с помощью кода. Любые решения будут оценены.
Siva Kumar S
1

голосов
0

ответ
387

Просмотры

Не нашел класс «android.support.v7.app.AppCompatViewInflater» в захватывающем проекте месте

Я создаю демонстрационный проект по месту Picker. Но когда я нажимаю на кнопку, чтобы выбрать расположение это дает мне AppCompatViewInflater ClassNotFoundException исключение и Google Map немедленно закрывается. Вот мой LogCat error- Вызванный: java.lang.ClassNotFoundException: Не нашли класс «android.support.v7.app.AppCompatViewInflater» по пути: DexPathList [[почтовый файл «/system/framework/com.android.location .provider.jar "почтовый файл "/system/framework/com.android.media.remotedisplay.jar", почтовый файл" /data/app/com.google.android.gms-2/base.apk"],nativeLibraryDirectories = [/ данные / приложение / com.google.android.gms-2 / Библиотека / arm64, /data/app/com.google.android.gms-2/base.apk!/lib/arm64-v8a, / продавец / lib64, / система / lib64]] в dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56) в java.lang.ClassLoader.
Ana
1

голосов
1

ответ
147

Просмотры

Предложение создать прокси API через Google Places API автозаполнения

Я мобильный разработчик и начали использовать Google Place API для автозаполнения предложения, чтобы найти места в моем приложении. Но я заметил, что API Google Адресов становится дорогостоящим при масштабировании. Так что я сделал некоторые оптимизации на подвижной части следующим образом: - Лимит автозаполнение по крайней мере 3 символа Порогового значения, чтобы сделать вызов API для автозаполнения является разница 500millisecond между 2 символами набрана ли локальное кэшированием результатов с механизмом LRU При всех этом сторона оптимизации клиента хорошо. Но теперь я также думаю, чтобы оптимизировать с серверной стороны API также. Для этой оптимизации, я буду создавать обертку для Google размещает автозаполнения апи с серверной стороны кэширования. Это кэширование будет иметь время пролета 30days согласно Руководству Google. Мне нужна помощь, чтобы понять, как я могу разработать это? Как какой ключ и сочетание значения мне нужно хранить автозаполнение предложения? Должен ли я использовать Redis или Hazelcast? Я пишу свой Backend в Java с сервером AWS с использованием архитектуры микро-службой. Любое уже реализованное решение, где я могу изучить и узнать. Пожалуйста, помогите, как я новичок Backend разработчик.
Balraj Singh
1

голосов
0

ответ
189

Просмотры

не может решить метод getAutocompletePredictions

Я разрабатываю приложение, которое нуждается в Google Место Апите в it.Specifically в AutoCompleteTextView Так я получаю эту ошибку, когда я вызвать метод getAutocompletePredictions с моим GoogleApiClient моего вопросом, можем мы называем getAutocompletePredictions на GoogleApiClient вместо GeoDataClient если да, то почему я получаю эта ошибка, и если нет, то какой метод мог бы заменить этот метод. PlaceAutoCompleteAdapter.java / * * Copyright (C) 2015 Google Inc. Все права защищены. * Лицензия под лицензией Apache, версия 2.0 ( "Лицензия"); * Вы не можете использовать этот файл только в соответствии с лицензией. * Вы можете получить копию лицензии на * http://www.apache.org/licenses/LICENSE-2.0 * * Если не предусмотрено действующим законодательством или согласованные в письменной форме, Программное обеспечение * распространяется под лицензией распространяется на «КАК ЕСТЬ», * БЕЗ ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, либо явных или подразумеваемых. * См лицензии для конкретных языковых разрешений и * ограничений по лицензии. * / Пакет com.xyz.mohit.hikersapp; импорт android.annotation.SuppressLint; импорт android.content.Context; импорт android.graphics.Typeface; импорт android.text.style.CharacterStyle; импорт android.text.style.StyleSpan; импорт android.util.Log; импорт android.view.View; импорт android.view.ViewGroup; импорт android.widget.ArrayAdapter; импорт android.widget.Filter; импорт android.widget.Filterable; импорт android.widget.TextView; импорт android.widget.Toast; импорт com.google.android.gms.common.api.GoogleApiClient; импорт com.google.android.gms.common.data.DataBufferUtils; импорт com.google.android.gms.location.places.AutocompleteFilter; импорт com.google.android.gms.location.places.AutocompletePrediction; импорт com.google.android.gms.location.places.AutocompletePredictionBufferResponse; импорт com.google.android.gms.location.places.GeoDataClient; импорт com.google.android.gms.maps.model.LatLngBounds; импорт com.google.android.gms.tasks.RuntimeExecutionException; импорт com.google.android.gms.tasks.Task; импорт com.google.android.gms.tasks.Tasks; импорт java.util.ArrayList; импорт java.util.concurrent.ExecutionException; импорт java.util.concurrent.TimeUnit; импорт java.util.concurrent.TimeoutException; / ** * адаптер, который обрабатывает автозаполнения запросов от клиента Места гео данных. * {@link AutocompletePrediction} Результаты от API замораживают и хранят непосредственно в этом * адаптер. (См. {@Link AutocompletePrediction # замораживания ()}) * / общественный класс PlaceAutocompleteAdapter расширяет ArrayAdapter реализует фильтруемых {частного статического финала Строки TAG = "PlaceAutocompleteAdapter"; частный статический окончательный CharacterStyle STYLE_BOLD = новый StyleSpan (Typeface.BOLD); / ** * Текущие результаты, возвращаемые этим адаптером. * / Частный ArrayList mResultList; / ** * Ручка запросов автозаполнения. * / Частный GoogleApiClient mGeoDataClient; / ** * Граница, используемая для Places данных ГЭПА запросов API автозаполнения. * / Частные LatLngBounds mBounds; / ** * автозаполнения фильтр используется для ограничения запросов к определенному набору типов места. * / Частный AutocompleteFilter mPlaceFilter; / ** * Инициализация с ресурсом для текстовых строк и границ автозаполнения запросов. * * @See android.widget.ArrayAdapter # ArrayAdapter (android.content.Context, целое) * / общественного PlaceAutocompleteAdapter (контекст Контекст, GoogleApiClient geoDataClient, LatLngBounds границы, AutocompleteFilter фильтр) {супер (контекст, android.R.layout.simple_expandable_list_item_2, android.R.id.text1); mGeoDataClient = geoDataClient; mBounds = Bounds; mPlaceFilter = фильтр; } / ** * Устанавливает границы для всех последующих запросов. * / общественного недействительной SetBounds (LatLngBounds Bounds) {mBounds = оценки; } / ** * Возвращает количество результатов, полученных в последнем запросе автозаполнения. * / @Override общественного ИНТ GetCount () {вернуться mResultList.size (); } / ** * Возвращает элемент из последнего автозаполнения запроса. * / @Override общественного AutocompletePrediction GetItem (целое положение) {вернуться mResultList.get (положение); } @Override публичного просмотра GetView (промежуточное положение, вид convertView, ViewGroup родитель) {Посмотреть строки = super.getView (положение, convertView, родитель); // Задает первичный и вторичный текст для строки. // Обратите внимание, что getPrimaryText () и getSecondaryText () возвращает CharSequence, который может содержать // моделирование на основе данного CharacterStyle. AutocompletePrediction элемент = GetItem (положение); TextView textView1 = (TextView) row.findViewById (android.R.id.text1); TextView textView2 = (TextView) row.findViewById (android.R. id.text2); textView1.setText (item.getPrimaryText (STYLE_BOLD)); textView2.setText (item.getSecondaryText (STYLE_BOLD)); вернуться строку; } / ** * Возвращает фильтр для текущего набора результатов автозаполнения. * / @Override общественного фильтр getFilter () {вернуть новый фильтр () {@Override защищен FilterResults performFiltering (CharSequence ограничения) {FilterResults результаты = новые FilterResults (); // Нам нужен отдельный список для хранения результатов, так как // это выполняется асинхронно. ArrayList filterData = новый ArrayList (); // Пропустить запрос автозаполнения, если никаких ограничений не приводятся. если (ограничение! = NULL) {// запрос к API автозаполнения для (ограничения) строку поиска. filterData = getAutocomplete (ограничение); } Results.values ​​= filterData; если (filterData! = NULL) {results.count = filterData.size (); } Еще {results.count = 0; } Возвращать результаты; } @Override защищен недействительные publishResults (CharSequence ограничение, FilterResults результаты) {если (результаты! = NULL && results.count> 0) {// Этот API возвращается по крайней мере один результат, обновить данные. mResultList = (ArrayList) results.values; notifyDataSetChanged (); } Еще {// Этот API не возвращает никаких результатов, аннулирует набор данных. notifyDataSetInvalidated (); }} @Override общественный CharSequence convertResultToString (resultValue объекта) {// переопределить этот метод для отображения читаемого результата в AutoCompleteTextView // при нажатии. если (resultValue InstanceOf AutocompletePrediction) {возвращение ((AutocompletePrediction) resultValue) .getFullText (нуль); } Еще {вернуть super.convertResultToString (resultValue); }}}; } / ** * Отправляет автозавершения запрос к API места Geo Data автозаполнения. * Результаты возвращаются в виде замороженных объектов AutocompletePrediction, готовый для кэширования. * Возвращает пустой список, если не было найдено. * Возвращает NULL, если клиент API не доступен или запрос не завершить * успешно. * Этот метод должен быть вызван от основного потока пользовательского интерфейса, так как он будет блокировать, пока данные не возвращаются * из API, который может включать в себя сетевой запрос. * * @Param ограничение автозаполнение строки запроса * @return Результаты из автозаполнения API или нулевое значение, если запрос не был успешным. * @see GeoDataClient # getAutocompletePredictions (String, LatLngBounds, AutocompleteFilter) * @see AutocompletePrediction # Freeze () * / @SuppressLint ( "LongLogTag") частное ArrayList getAutocomplete (CharSequence ограничение) {Log.i (TAG " addApi (Places.GEO_DATA_API) .addApi (Places.PLACE_DETECTION_API) .enableAutoManage (это, это) .build (); LatLngBounds LatLng = новые LatLngBounds (новый LatLng (23,63936, 68,14712), новый LatLng (28,20453, 97,34466)); AutocompleteFilter фильтр = новый AutocompleteFilter.Builder () .setTypeFilter (AutocompleteFilter.TYPE_FILTER_CITIES) .build (); PlaceAutocompleteAdapter адаптер = новый PlaceAutocompleteAdapter (MapsActivity.this, mGoogleApiClient, LatLng, фильтр); SearchText.setAdapter (адаптер); AutocompleteFilter фильтр = новый AutocompleteFilter.Builder () .setTypeFilter (AutocompleteFilter.TYPE_FILTER_CITIES) .build (); PlaceAutocompleteAdapter адаптер = новый PlaceAutocompleteAdapter (MapsActivity.this, mGoogleApiClient, LatLng, фильтр); SearchText.setAdapter (адаптер); AutocompleteFilter фильтр = новый AutocompleteFilter.Builder () .setTypeFilter (AutocompleteFilter.TYPE_FILTER_CITIES) .build (); PlaceAutocompleteAdapter адаптер = новый PlaceAutocompleteAdapter (MapsActivity.this, mGoogleApiClient, LatLng, фильтр); SearchText.setAdapter (адаптер);
MoHiT GuPtA
1

голосов
0

ответ
200

Просмотры

Как включить API Google Адресов

Я создаю приложение, которое использует Google Maps API, а затем отображает адрес местоположения пользователя, полученное из мест API сверху, однако, когда я пытаюсь получить доступ к API Адресов я получаю ниже упомянутую ошибку: «com.example.android. rsrpechhulp3 Е / Залп: [584] fc.a: Неожиданный код ответа 400 для https://clients4.google.com/glm/mmap/api», а затем„неустранимым: главный“в первой строке я использую место API у меня есть ключи API как для Google Maps SDK и Google размещает SDK, и поставил Google место SDK как ограничение API из Google Maps SDK. манифест содержит: Я знаю, что ключ API Google Maps является правильным, как карты Google функционировали правильно, прежде чем я пытался реализовать код, используя места.
Brooklyn Pedley
1

голосов
0

ответ
68

Просмотры

Fetch Google обзоры и отвечать их с помощью API

Я хотел бы получить отзывы о любых предприятиях, которые я получил с помощью https://maps.googleapis.com/maps/api/place/details/json?placeid=YOUR_PLACE_ID. Но я также хотел бы ответить им, используя API. Я не нашел ни одного источника по этому вопросу. Я был бы признателен, если кто-то может помочь.
Ashish Jangra
1

голосов
0

ответ
34

Просмотры

Updation данные Google Maps в реальном времени

Я работаю над проектом, где мне нужно обновить данные на Google Maps для конкретного места (безусловно, мое рабочее место) на реальное время через каждые несколько минут генерации некоторых событий. Я не получаю какие-либо ссылки API, чтобы сделать это. может вы, ребята, пожалуйста, предложите мне решение? Спасибо
Nancy
1

голосов
0

ответ
36

Просмотры

Google Места Android EditText и ListView

Через несколько часов, пытаясь решить эту проблему самостоятельно (без какого-либо результата), я решил попросить экспертов! Потому что проблема в том, что результат от API работает хорошо, но когда я нажимаю в строке результата автозаполнения в EditText txtDestination и txtsourceAddress, эти поля не заменяются на прикоснулси информации. Любой человек может помочь решить эту проблему, пожалуйста? Я буду очень благодарен за любую помощь. Ниже код, который не работает: mAutoCompleteList.setOnItemClickListener (новый AdapterView.OnItemClickListener () {@Override общественный недействительный onItemClick (AdapterView родитель, Вид вид, внутр позиция, длинный идентификатор) {если (txtaddressSource.getText () ToString ().. equalsIgnoreCase ( "")) {попробуйте {AlertDialog.Builder строитель = новый AlertDialog.Builder (thisActivity); LayoutInflater инфлятор = (LayoutInflater) thisActivity.getSystemService (Context.LAYOUT_INFLATER_SERVICE); builder.setMessage ( "ВЫБРАТЬ адресном") .setTitle (thisActivity.getString (R.string.app_name)) .setCancelable (истина) .setIcon (R.mipmap.ic_launcher) .setPositiveButton ( "OK", новый DialogInterface.OnClickListener () {общественного недействительными OnClick (диалог DialogInterface, Int ID) {txtaddressSource.requestFocus (); txtDestination.setText ( ""); imgDestClose.setVisibility (View.GONE); mAutoCompleteList. setVisibility (View.GONE); dialog.dismiss (); }}); AlertDialog предупреждение = builder.create (); alert.show (); } Задвижка (Исключение е) {e.printStackTrace (); }} Еще {setGoogleAddress (положение); }}}); частная пустота setGoogleAddress (целое положение) {если (mGoogleApiClient! = NULL) {utils.print ( "", "Место ID ==>" + predictions.getPlaces () получим (положение) .getPlaceID ().); Places.GeoDataApi.getPlaceById (mGoogleApiClient, predictions.getPlaces (). Получить (положение) .getPlaceID ()). placePredictions.strDestLatitude = myPlace.getLatLng () широта + ""; placePredictions.strDestLongitude = myPlace.getLatLng () долгота + ""; txtDestination.setText (placePredictions.strDestAddress); Log.v ( "setGoogleAddress onResult ЕСЛИ назначения", placePredictions.strDestAddress); txtDestination.setSelection (0); .} Еще {placePredictions.strSourceAddress = myPlace.getAddress () ToString (); . PlacePredictions.strSourceLatLng = myPlace.getLatLng () ToString (); placePredictions.strSourceLatitude = myPlace.getLatLng () широта + ""; placePredictions.strSourceLongitude = myPlace.getLatLng () долгота + ""; txtaddressSource.setText (placePredictions.strSourceAddress); Log.v ( "setGoogleAddress onResult еще", placePredictions.strSourceAddress); txtaddressSource.setSelection (0); txtDestination.requestFocus (); mAutoCompleteAdapter = NULL; }} Еще {Log.v ( "setGoogleAddress ИНАЧЕ", mAutoCompleteList.toString ()); } MAutoCompleteList.setVisibility (View.GONE); если (txtDestination.getText (). ToString (). Длина ()> 0) {places.release (); если (strSelected.equalsIgnoreCase ( "пункт назначения")) {если (! placePredictions.strDestAddress.equalsIgnoreCase (placePredictions.strSourceAddress)) {setAddress (); } Еще {utils.showAlert (thisActivity, GetResources () GetString (R.string.source_and_destination_not_same).); }}} Еще {txtDestination.requestFocus (); txtDestination.setText ( ""); imgDestClose.setVisibility (View.GONE); mAutoCompleteList.setVisibility (View.GONE); }}}); }}
JMB
1

голосов
0

ответ
44

Просмотры

How to put google places api working code under IIFE

} Еще {Alert (статус); }}); } Возвращение (initAutocomplete); }) (); каллусы (); Когда я использую выше код без IIFE он прекрасно работает, дает автозаполнения выпадающего списка. Но, когда я использую его, как и выше, ничего не происходит, нет ошибок, только AuthenticationService не вызывается, а не призыв к AutocompletionService.GetPridictions? случается. Любое предложение о том, где я не прав? Большое спасибо much.iife Любое предложение о том, где я не прав? Большое спасибо much.iife Любое предложение о том, где я не прав? Большое спасибо much.iife
ksalf
1

голосов
0

ответ
31

Просмотры

Google Places Autocomplete - how to access raw user input

I have an activity which gives the user the option to enter their address details (address text, building/floor/apartment number). I want to access/save what the user writes in the AutocompleteSupportFragment, especially in cases when the Places Autocomplete API doesn't find any results so I could use what the user inputted directly. What I tried so far: 1- The AutocompleteSupportFragment.setOnPlaceSelectedListener's onError method is not called. 2- Adding a TextWatcher to the AutocompleteSupportFragment.a (where a is a reference to the EditText) to get the data in afterTextChanged, no data is captured. XML code: Java code: Places.initialize(getApplicationContext(), Constants.PLACES_API_KEY); // Initialize the AutocompleteSupportFragment. autocompleteFragment = (AutocompleteSupportFragment) getSupportFragmentManager().findFragmentById(R.id.address_autocomplete_fragment); // Specify the types of place data to return. autocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME, Place.Field.LAT_LNG, Place.Field.ADDRESS)); autocompleteFragment.setCountry("EG"); autocompleteFragment.a.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { Log.d(TAG, "User text: " + s); } }); // Set up a PlaceSelectionListener to handle the response. autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() { @Override public void onPlaceSelected(Place place) { //Get info about the selected place. Log.d(TAG, "Place: " + place.getName() + ", " + place.getId()); } @Override public void onError(Status status) { //Handle the error. Log.d(TAG, "An error occurred: " + status); } }); enter image description here
JoeyOggie
1

голосов
0

ответ
29

Просмотры

Как сохранить выбранное местоположение пользователя от Google помещает фрагмент

Я настроил упражнение, в котором пользователь будет искать функцию места поиска Google и выбрать место. Я не могу понять, как получить место, которое выбрал пользователь. Мне нужно хранить это место в Firebase, так что я могу использовать данные, введенные на моем Google Maps деятельности. Любая помощь приветствуется. Places.initialize (getApplicationContext (), apiKey); если (Places.isInitialized ()) {Places.initialize (getApplicationContext (), apiKey); } // Инициализировать AutocompleteSupportFragment. AutocompleteSupportFragment autocompleteFragment = (AutocompleteSupportFragment) getSupportFragmentManager () findFragmentById (R.id.autocomplete_fragment). autocompleteFragment.setPlaceFields (Arrays.asList (Place.Field.ID, Place.Field.NAME)); autocompleteFragment. setOnPlaceSelectedListener (новый PlaceSelectionListener () {@Override общественное недействительное onPlaceSelected (место место) {// TODO:. Получить информацию о выбранном месте Log.i (TAG, "Место:" + place.getName () + "" + место .getId ());} @Override общественного OnError (статус недействительного статуса) {// TODO:. Обрабатывать ошибку Log.i (TAG, "произошла ошибка:" + статус);} / * общественная пустота getSelectedLocation (место места ) {Строка newLocation = place.getName ();} * /}); addSong.setOnClickListener (новый View.OnClickListener () {@Override общественный недействительный OnClick (View v) {Log.d (TAG, "OnClick:. Попытка добавить объект в базу данных".) Строка newArtist = artistName.getText () ToString (); . Строка newSongLink = songLink.getText () ToString (); . Строка newGenre = genreSpinner.getSelectedItem () ToString (); если {пользователь FirebaseUser = firebaseAuth.getCurrentUser () (newArtist.equals ( "") && newSongLink.equals (! "") && newGenre.equals ( "")!); Строка = идентификатор пользователя user.getUid (); .. DatabaseReference.child (идентификатор пользователя) .child ( "Песни") ребенок ( "Добавленные песни") ребенок (newArtist) .setValue ( "истина"); .. DatabaseReference.child (идентификатор пользователя) .child ( "Песни") ребенок ( "Добавленные песни") ребенок (newGenre) .setValue ( "истина"); .. DatabaseReference.child (идентификатор пользователя) .child ( "Песни") ребенок ( "Добавленные песни") ребенок (newSongLink) .setValue ( "истина"); //databaseReference.child(userID).child("Artists").child("Artist Профиль ") ребенок (." Члены правда ") ") ребенок (newArtistMembers) .setValue (."; toastMessage ( "Добавление нового профиля"); } Еще {toastMessage ( «Пожалуйста, убедитесь, что все поля заполнены»); } // Возвращаем на главный экран Intent намерения = новый Intent (AddSong.this, ArtistHomepage.class); startActivity (намерение); }}); Есть ли способ, чтобы получить подробную информацию от getPlaceSelected и установить его в строку, так что он может храниться в базе данных в режиме реального времени?
Lun77
1

голосов
2

ответ
724

Просмотры

API Google Адресов, сохраняет результаты позволили?

Я хотел бы создать сайт, который содержит список отелей, магазинов и т.д. в городах. Я могу запросить API Адресов, но я чувствую, что это незаконно, чтобы использовать его таким образом. Знает ли это кто-нибудь?
Kevin E.
1

голосов
1

ответ
1.1k

Просмотры

How do I get more results from Google Places / Maps

Я использую карты Google, и я пытаюсь из мест API, но что-то заставляет меня задаться вопросом ... Если вы загружаете maps.google.com и перейти в Куала-Лумпур, введите «пища» в поисковой коробке, вы увидите сотни рестораны на карте. Я хотел бы получить их в свои карты. Использование API Адресов, я в значительной степени скопировали их пример кода: функция инициализации () {вар наличники = 3.15; вар Plong = 101,7; вар ОПП = новый google.maps.LatLng (наличники, Plong); вар MapOptions = {MapTypeId: google.maps.MapTypeId.ROADMAP, перетаскивать: ложь, увеличение: 10, центр: ОПП}; карта = новый google.maps.Map (document.getElementById ( "mapcanvas"), MapOptions); Запрос вар = {местоположение: ОПП, радиус: '10000'}; InfoWindow = новый google.maps.InfoWindow (); обслуживание = новый Google. maps.places.PlacesService (карта); service.search (запрос, обратного вызова); } Функция обратного вызова (результаты, статус) {если (состояние == google.maps.places.PlacesServiceStatus.OK) {для (вар я = 0; г <results.length; я ++) {createMarker (результаты [I]); }}} Функция createMarker (место) {вар placeLoc = place.geometry.location; вар маркер = новый google.maps.Marker ({карта: карта, должность: place.geometry.location, значок: place.icon}); google.maps.event.addListener (маркер, 'нажмите', функция () {infowindow.setContent ( "" + place.name + "" + place.vicinity); infowindow.open (карты, это);}); } Когда я выполняю этот код, я получаю результаты, но только очень немногие и только основные места, как несколько торговых центров и музеев. Так,
Jesper
1

голосов
1

ответ
469

Просмотры

Google Адреса с помощью API

Вы знаете, если это возможно, чтобы обновить существующее место через API в Google Адресах? Предположим, что мне нужно изменить «Часы работы», потому что моя деловая активность имеет гибкие открытые часы, и я хочу, чтобы автоматизировать эту задачу с помощью сценария. Спасибо.
Mattia Lipreri
1

голосов
1

ответ
3.8k

Просмотры

How to access JSON response from Google Places API

Я пытаюсь понять, как использовать Google Places API. Я прочитал всю свою документацию. Я просто пытаюсь понять, как получить данные в ответ JSON. Я не пытаюсь вывести ответ на карту. Я хочу, чтобы получить доступ к вещам, как топонимы и т.д. Я пытался использовать функцию JQuery $ .getJSON в предыдущем посте я сделал (http://stackoverflow.com/questions/11642418/trying-to-use-google-places -api-с-jquerys-getjson-функция), однако я не мог получить браузер для разбора ответа JSON, соответственно, я думаю, потому что ответ JSON в удаленном сервере. Я сейчас пытаюсь использовать JSONP, но у меня такая же ошибка. Функция jasonPCall () {вар URL = «https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour& Датчик = ложь и ключ = **** мой ключ **** и обратного вызова =? '; $ .Ajax ({типа: 'GET', URL: URL, асинхронная: ложь, jsonpCallback: 'jsonCallback', CONTENTTYPE: "применение / JSON", DATATYPE: 'JSONP', успех: функция (JSON) {console.log ( "Мы получили ответ."); console.dir (json.results [0] .name);}, ошибка: функция (е) {console.log ( "Мы не получили ответа."); консоль. журнал (e.message);}}); } Это то, что я пытаюсь сделать это возможно? Если да, то как вы должны получить доступ к данным в формате JSON ответные предоставляемый Google Адреса? Может кто-то должность простой пример правильного способа сделать это? ключ = **** мой ключ **** и обратного вызова =? '; $ .Ajax ({типа: 'GET', URL: URL, асинхронная: ложь, jsonpCallback: 'jsonCallback', CONTENTTYPE: "применение / JSON", DATATYPE: 'JSONP', успех: функция (JSON) {console.log ( "Мы получили ответ."); console.dir (json.results [0] .name);}, ошибка: функция (е) {console.log ( "Мы не получили ответа."); консоль. журнал (e.message);}}); } Это то, что я пытаюсь сделать это возможно? Если да, то как вы должны получить доступ к данным в формате JSON ответные предоставляемый Google Адреса? Может кто-то должность простой пример правильного способа сделать это? ключ = **** мой ключ **** и обратного вызова =? '; $ .Ajax ({типа: 'GET', URL: URL, асинхронная: ложь, jsonpCallback: 'jsonCallback', CONTENTTYPE: "применение / JSON", DATATYPE: 'JSONP', успех: функция (JSON) {console.log ( "Мы получили ответ."); console.dir (json.results [0] .name);}, ошибка: функция (е) {console.log ( "Мы не получили ответа."); консоль. журнал (e.message);}}); } Это то, что я пытаюсь сделать это возможно? Если да, то как вы должны получить доступ к данным в формате JSON ответные предоставляемый Google Адреса? Может кто-то должность простой пример правильного способа сделать это? $ .Ajax ({типа: 'GET', URL: URL, асинхронная: ложь, jsonpCallback: 'jsonCallback', CONTENTTYPE: "применение / JSON", DATATYPE: 'JSONP', успех: функция (JSON) {console.log ( "Мы получили ответ."); console.dir (json.results [0] .name);}, ошибка: функция (е) {console.log ( "Мы не получили ответа."); консоль. журнал (e.message);}}); } Это то, что я пытаюсь сделать это возможно? Если да, то как вы должны получить доступ к данным в формате JSON ответные предоставляемый Google Адреса? Может кто-то должность простой пример правильного способа сделать это? $ .Ajax ({типа: 'GET', URL: URL, асинхронная: ложь, jsonpCallback: 'jsonCallback', CONTENTTYPE: "применение / JSON", DATATYPE: 'JSONP', успех: функция (JSON) {console.log ( "Мы получили ответ."); console.dir (json.results [0] .name);}, ошибка: функция (е) {console.log ( "Мы не получили ответа."); консоль. журнал (e.message);}}); } Это то, что я пытаюсь сделать это возможно? Если да, то как вы должны получить доступ к данным в формате JSON ответные предоставляемый Google Адреса? Может кто-то должность простой пример правильного способа сделать это? асинхронный: ложь, jsonpCallback: 'jsonCallback', CONTENTTYPE: "применение / JSON", DATATYPE: 'JSONP', успех: функция (JSON) {console.log ( "Мы получили ответ"); console.dir (json.results [0] .name); }, Ошибка: функция (е) {console.log ( "Мы не получили ответ."); console.log (e.message); }}); } Это то, что я пытаюсь сделать это возможно? Если да, то как вы должны получить доступ к данным в формате JSON ответные предоставляемый Google Адреса? Может кто-то должность простой пример правильного способа сделать это? асинхронный: ложь, jsonpCallback: 'jsonCallback', CONTENTTYPE: "применение / JSON", DATATYPE: 'JSONP', успех: функция (JSON) {console.log ( "Мы получили ответ"); console.dir (json.results [0] .name); }, Ошибка: функция (е) {console.log ( "Мы не получили ответ."); console.log (e.message); }}); } Это то, что я пытаюсь сделать это возможно? Если да, то как вы должны получить доступ к данным в формате JSON ответные предоставляемый Google Адреса? Может кто-то должность простой пример правильного способа сделать это? JSONP», успех: функция (JSON) {console.log ( "Мы получили ответ."); console.dir (json.results [0] .name); }, Ошибка: функция (е) {console.log ( "Мы не получили ответ."); console.log (e.message); }}); } Это то, что я пытаюсь сделать это возможно? Если да, то как вы должны получить доступ к данным в формате JSON ответные предоставляемый Google Адреса? Может кто-то должность простой пример правильного способа сделать это? JSONP», успех: функция (JSON) {console.log ( "Мы получили ответ."); console.dir (json.results [0] .name); }, Ошибка: функция (е) {console.log ( "Мы не получили ответ."); console.log (e.message); }}); } Это то, что я пытаюсь сделать это возможно? Если да, то как вы должны получить доступ к данным в формате JSON ответные предоставляемый Google Адреса? Может кто-то должность простой пример правильного способа сделать это? войти (e.message); }}); } Это то, что я пытаюсь сделать это возможно? Если да, то как вы должны получить доступ к данным в формате JSON ответные предоставляемый Google Адреса? Может кто-то должность простой пример правильного способа сделать это? войти (e.message); }}); } Это то, что я пытаюсь сделать это возможно? Если да, то как вы должны получить доступ к данным в формате JSON ответные предоставляемый Google Адреса? Может кто-то должность простой пример правильного способа сделать это?
rocklandcitizen
1

голосов
2

ответ
1.9k

Просмотры

Автозаполнение Google Maps API - прямой вызов JSON

Я пытаюсь разработать мобильное приложение JQuery, который использует API Google Адреса. По сути то, что я делаю, добавляя вход в мобильную страницу JQuery, то подключение его к Google Места для автозаполнения адреса, и, возможно, захватить координаты этого адреса. Я имел первоначальный успех в модификации демки доступной здесь, которые используют собственные функции автозаполнения Google, внутри их «Место библиотеки». Однако, с точки зрения пользовательского интерфейса, на мобильных устройствах эта реализация не будет работать - вы должны существенно нажать на относительно небольшой результат, и нажав кнопку возврата на телефоне не выбрать первый результат. Введите: http://www.raymondcamden.com/index.cfm/2012/3/27/Example-of-Autocomplete-in-jQuery-Mobile Идеально подходит для того, что мне нужно, только я м в настоящее время пытается получить данные, возвращаемые быть через API Google Адресов, используя автозаполнение API. См пример вызова API, я использую: https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Amoeba&types=establishment&sensor=true&key=myKeyHERE Это, однако, не возвращать информацию GEO - только адреса , Есть ли другой способ или позвонить мне нужно использовать? С родной (местами библиотеки) реализация, я имел доступ к целой куче данных, не требуется ключ API, и не должен работать в пределах границ. Не уверен, что если повторно геокодирования ResultSet кажется лучшим подходом. т однако возвращать информацию GEO - только адреса. Есть ли другой способ или позвонить мне нужно использовать? С родной (местами библиотеки) реализация, я имел доступ к целой куче данных, не требуется ключ API, и не должен работать в пределах границ. Не уверен, что если повторно геокодирования ResultSet кажется лучшим подходом. т однако возвращать информацию GEO - только адреса. Есть ли другой способ или позвонить мне нужно использовать? С родной (местами библиотеки) реализация, я имел доступ к целой куче данных, не требуется ключ API, и не должен работать в пределах границ. Не уверен, что если повторно геокодирования ResultSet кажется лучшим подходом.
Squiggs.
1

голосов
1

ответ
5.1k

Просмотры

API Google Адресов с изображением

При посещении в Google+ Local и поиск ресторана, вы можете увидеть фотографии и пользовательский комментарий. Пожалуйста, те API доступны.
Clement
1

голосов
1

ответ
678

Просмотры

Google Places API - Покушение Solution

Там, кажется, некоторая путаница относительно того, что вызывает ошибку с Google Places API и использование JSON в качестве выхода. Например, вывод (при вставке URL в адрес ABR вашего браузера возвращает это: { «html_attributions»: [], «результаты»: [], «статус»: «REQUEST_DENIED»} Во-первых, я думал, что это может что-то делать с моей API Статус доступа в неактивное ", но после прочтения нескольких постов здесь на SO ... REQUEST_DENIED Google Maps API v3 мест Ошибка Google Places API - REQUEST_DENIED REQUEST_DENIED при использовании API Google Адресов ... Я не являюсь ни мудрее. цель этой записи / нить, чтобы попытаться установить именно возможности Google Places API, требуется ли или нет ключа API, и почему REQUEST_DENIED происходит так часто для многих пользователей.
carmat
1

голосов
1

ответ
2.4k

Просмотры

Google Места и локон

Я новичок в Google Адреса и не знаю, если я установить его право. Вот мой тестовый код: $ ч = curl_init (); curl_setopt ($ ч, CURLOPT_URL, "https://maps.googleapis.com/maps/api/place/search/json"); curl_setopt ($ ч, CURLOPT_POSTFIELDS, "местоположение = 45,508867, -73,554242 & точность = 500 & датчика = ложно & ключ = (ключ API)"); curl_setopt ($ ч, CURLOPT_RETURNTRANSFER, TRUE); $ Результат = curl_exec ($ ч); Но я получаю ответ: { «html_attributions»: [], «результаты»: [], «статус»: «REQUEST_DENIED»} У меня есть Google Место активизировано в моей консоли и получил ключ API из консоли. Что я делаю неправильно здесь?
sehummel
1

голосов
1

ответ
212

Просмотры

Использование ArcGIS Flex API с Google Адресов

Результаты, полученные из Google Places - при показе на карте - необходимо использовать Google Maps: https://developers.google.com/places/policies Хотя ArcGIS API для Flex обеспечивает способ использования плитки из альтернативных источников - Google не предлагает поддержку для вызова их плитки за пределами их JavaScript API. Я занимаюсь разработкой мобильных приложений - так что использование JavaScript вне вопроса. Как я могу удовлетворить требования логотипа, если я не могу загрузить карту плитку? Есть ли способ, что я могу это сделать? Будет ли Google предложить перерыв / обходной путь для разработчиков Flex?
user1731154
1

голосов
2

ответ
790

Просмотры

Android - Попытка внедрить Google Places API

Я никогда не использовал Google Адреса, прежде чем и думал, что это будет время, чтобы сделать это. Я следовал этот учебник: http://www.androidhive.info/2012/08/android-working-with-google-places-and-maps-tutorial/ Моя проблема в том, когда я создаю этот метод createRequestFactory () он говорит, что JsonHttpParser класс теперь не рекомендуется. Я искал везде, чтобы найти альтернативное решение, но не был в состоянии сделать это. Я нацеливание Android 2.1 и разработки в Eclipse, Juno. Кто-нибудь есть какие-либо понятия о том, как разрешить этот конфликт? Я не получаю никаких ошибок компиляции, и затмение строит его без каких-либо проблем, но я не хочу использовать этот устаревший класс. Вот мой код: публичный статический HttpRequestFactory createRequestFactory (конечная HttpTransport транспорт) {вернуться транспорт. createRequestFactory (новый HttpRequestInitializer () {общественных недействительные инициализации (HttpRequest запрос) {GoogleHeaders заголовки = новые GoogleHeaders (); headers.setApplicationName ( "AndroidHive-Places-Test"); request.setHeaders (заголовки); // Устаревших эти последние две строк JsonHttpParser анализатор = новый JsonHttpParser (новый JacksonFactory ()); request.addParser (СА);}}); } Заранее спасибо! request.addParser (СА); }}); } Заранее спасибо! request.addParser (СА); }}); } Заранее спасибо!
Carnal
1

голосов
2

ответ
126

Просмотры

Расчет Миледж в Android?

Я хочу, чтобы отобразить расстояние между двумя городами в андроид программы, для этого я написал следующий код: пакет com.example.distancebcities; импорт java.io.IOException; импорт java.util.List; импорт com.google.android.maps.GeoPoint; импорт com.google.android.maps.MapActivity; импорт com.google.android.maps.MapView; импорт android.location.Address; импорт android.location.Geocoder; импорт android.os.Bundle; импорт android.app.Activity; импорт android.view.Menu; импорт android.view.View; импорт android.widget.EditText; общественный класс MainActivity расширяет MapActivity {// расширение MapActivity здесь Geocoder геокодер = NULL; MapView MAPview = NULL; дисплей @Override // расположение защищен булево isLocationDisplayed () {вернуться ложным; } @Override защищенный логический isRouteDisplayed () {вернуться ложным; } @Override защищен недействительным OnCreate (Пачка savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); MapView = (MapView) findViewById (R.id.geoMap); mapView.setBuiltInZoomControls (истинный); // широта / долгота Джексонвилле, FL INT = Lat (INT) (30,334954 * 1000000); INT LNG = (INT) (-81,5625 * 1000000); GeoPoint пт = новый GeoPoint (лат, LNG); mapView.getController () setZoom (10). mapView.getController () setCenter (пт). геокодер = новый геокодер (это); } Общественного недействительными doClick (View arg0) {попробуйте {EditText локация = (EditText) findViewById (R. id.location); . // получение Ид строки dittext locationName = loc.getText () ToString (); Список AddressList = geocoder.getFromLocationName (locationName, 5); если (Addresslist = NULL && addressList.size ()> 0) {INT = ш (целое) (addressList.get (0) .getLatitude () * 1000000); INT LNG = (INT) (addressList.get (0) .getLongitude () * 1 миллион); // получение лат и длинные postions городов GeoPoint пт = новый GeoPoint (лат, LNG); mapView.getController () setZoom (15). mapView.getController () setCenter (пт). // масштабирование и отображение место редактирования текста введенного значения. } Поймать (IOException е) {e.printStackTrace (); }}} Я получаю место, но теперь я хочу, чтобы отобразить расстояние между двумя городами. Как я могу приступить к этой программе, и есть ли альтернатива для достижения этой цели? Пожалуйста, присылайте любые полезные ссылки на меня так, что я могу двигаться вперед.
user1787493
1

голосов
1

ответ
147

Просмотры

Места автозаполнения всегда возвращается в Чикаго resultas даже если Lat Long установлен в другое место

Я использую API Google Адресов, чтобы проверить близлежащие места и позволить пользователю выбрать один. Все работает нормально, но у меня возникают проблемы, местоположение, если я посылаю долготы и широты на вызов апи для поиска, например, «McDonalds» Я получаю результаты в Чикаго вместо Сан-Франциско ... Любая идея, что может быть происходит? Это мой запрос: https://maps.googleapis.com/maps/api/place/autocomplete/json?input=mcdonald&types=establishment&location=37.76999,-122.44696&sensor=false&key=hereIsWhereMyKeyGoes Это Google в документации: https: // разработчики .google.com / место / документы / автозаполнение Спасибо!
Andres
1

голосов
1

ответ
3.4k

Просмотры

Как передать широту и долготу места, которое будет отображаться на карте Google?

Привет Я разработал приложение для Android, который использует API Google Адресов, чтобы отобразить близлежащие места. Теперь, когда я нажимаю на название места, я хочу, чтобы отобразить его местоположение на карте. Мой вопрос заключается в том, что, как передать широту и долготу на картах Google, которые будут отображаться. Сейчас я передаю значение статический, но когда я нажимаю на имя, которое я хочу передать его широту и долго динамически буду нарисован. Скажите, пожалуйста, как это сделать. Я новичок в Android. общественный класс SinglePlaceActivity расширяет активность {// флаг для состояния подключения к Интернету булевой isInternetPresent = ложь; // детектор соединения класса ConnectionDetector кд; // Диалог оповещения менеджер AlertDialogManager предупреждение = новый AlertDialogManager (); // Google Места GooglePlaces googlePlaces; // Место Детали PlaceDetails placeDetails; // Прогресс диалог ProgressDialog pDialog; Кнопка представить; Кнопка PieChart; TextView ошибка; // KEY Струны открытые статические строки KEY_REFERENCE = «ссылка»; // Идентификатор места @Override защищен недействительный OnCreate (Пачка savedInstanceState) {// TODO автоматической генерации метод заглушка super.onCreate (savedInstanceState); setContentView (R.layout.single_place); Намерение я = getIntent (); // ссылка Место Referece ID String = i.getStringExtra (KEY_REFERENCE); // Вызов по асинхронным фоновый поток новых LoadSinglePlaceDetails () выполнение (ссылка). представить = (Button) findViewById (R.id.submitbutton); PieChart = (кнопка) findViewById (R.id.piechart); Ошибка = (TextView) findViewById (R.id.list); Отправить. setOnClickListener (новый View.OnClickListener () {@Override общественный недействительный OnClick (View v) {// TODO Auto-генерироваться метод заглушка Намерение myIntent = новый Intent (SinglePlaceActivity.this, RecoProd.class); SinglePlaceActivity.this.startActivity (myIntent) ;}}); piechart.setOnClickListener (новый View.OnClickListener () {@Override общественный недействительный OnClick (View v) {// TODO Auto-сгенерированный метод заглушки Намерение Минт = новый Intent (SinglePlaceActivity.this, PieChart.class); SinglePlaceActivity.this.startActivity ( Мьин);}}); } / ** * Фон Асинхронный задача, чтобы загрузить места Google * * / класс LoadSinglePlaceDetails распространяется AsyncTask {/ ** * Перед началом фона темы Прогресс Диалог * * / @Override защищен недействительным onPreExecute () {super.onPreExecute (); pDialog = новый ProgressDialog (SinglePlaceActivity.this); pDialog.setMessage ( "Загрузка профиля ..."); pDialog.setIndeterminate (ложь); pDialog.setCancelable (ложь); pDialog.show (); } / ** * получение профиля JSON * * / защищенная строка doInBackground (String ... арг) {Строка ссылки = арг [0]; // создание объекта класса Адресов googlePlaces = новые GooglePlaces (); // Проверяем, если используется подключен к Internet попробовать {placeDetails = googlePlaces.getPlaceDetails (ссылка); } Задвижка (Исключение е) {e.printStackTrace (); } Возвращать нуль; } / ** * После завершения фоновой задачи Отклонить диалог выполнения * ** / защищен недействительным onPostExecute (String FILE_URL) {// закрыть диалоговое окно после получения всех продуктов pDialog.dismiss (); // обновления UI от runOnUiThread фона темы (новый Runnable () {общественного недействительного запуска () {/ ** * Обновление разобраны места в ListView * / если (placeDetails! = NULL) {Строка состояние = placeDetails. статус; // проверить состояние место deatils // Проверка для всех возможных состояния, если (status.equals ( "OK")) {если (placeDetails.result! = NULL) {имя String = placeDetails.result.name; Строка адреса = placeDetails.result.formatted_address; Строка телефона = placeDetails.result.formatted_phone_number; сайт String = placeDetails.result.formatted_web_site; Строка широта = Double.toString (placeDetails.result.geometry.location.lat); Строка долгота = Double.toString (placeDetails.result.geometry.location.lng); Log.d ( "Место" , Имя + адрес + телефон + широта + долгота + сайт); // Отображение всех деталей в представлении // single_place.xml TextView lbl_name = (TextView) findViewById (R.id.name); TextView lbl_address = (TextView) findViewById (R.id.address); TextView lbl_phone = (TextView) findViewById (R.id.phone); TextView lbl_website = (TextView) findViewById (R.id.web_site); TextView lbl_location = (TextView) findViewById (R.id.location); lbl_name.setOnClickListener (новый вид. OnClickListener () {@Override общественный недействительный OnClick (View v) {// TODO Auto-генерироваться метод заглушки Намерение myIntent = новый Intent (SinglePlaceActivity.this, DispMap.class); myIntent.putExtra ( "широта", "широта"); myIntent.putExtra ( "долгота", "долгота"); SinglePlaceActivity.this.startActivity (myIntent); }}); // Проверка нулевых данных Google // По случаю место детали может отсутствует имя = имя == NULL? «Нет»: имя; // если имя пустой дисплей как «нет» адрес = адрес == нуль? «Нет»: адрес; телефон = телефон == нуль? «Нет»: телефон; сайт = сайт == нуль? «Нет»: веб-сайт; широта = широта == нуль? «Нет»: широта; долгота = долгота == нуль? «Нет»: долготы; lbl_name.setText (имя); lbl_address.setText (адрес); lbl_phone.setText (Html.fromHtml ( "Телефон:" + телефон)); lbl_website.setText (Html.fromHtml ( "веб-сайт:" + сайт)); lbl_location.setText (Html.fromHtml ( "Широта:" + широта + "долгота" + долгота)); }} Еще если (status.equals ( "ZERO_RESULTS")) {alert.showAlertDialog (SinglePlaceActivity.this, "Рядом Places", "Извините, нет места не найдено.", Ложь); } Еще если (status.equals ( "UNKNOWN_ERROR" )) {Alert.showAlertDialog (SinglePlaceActivity.this, "Место Ошибка", "произошла неизвестная ошибка К сожалению.", Ложь); } Еще если (status.equals ( "OVER_QUERY_LIMIT")) {alert.showAlertDialog (SinglePlaceActivity.this, "Места Error", "Извините лимит запросов к Google мест достигается", ложь); } Еще если (status.equals ( "REQUEST_DENIED")) {alert.showAlertDialog (SinglePlaceActivity.this, "Место ошибка", «Произошла ошибка К сожалению запрос отвергается.», Ложь); } Еще если (status.equals ( "invalid_request")) {alert.showAlertDialog (SinglePlaceActivity.this "Места Error", "К сожалению произошла ошибка Invalid Request.", Ложь); } Еще {alert.showAlertDialog (SinglePlaceActivity.this, "Место Ошибка", "произошла ошибка К сожалению.", Ложь); }} Еще {alert.showAlertDialog (SinglePlaceActivity.this, "Место Ошибка", "произошла ошибка К сожалению.", Ложь); }}}); }}} DispMap.Class MapView MapView; MapController тс; GeoPoint р; Струнный долгота, широта; общественный класс MapOverlay расширяет com.google.android.maps.Overlay {@Override общественного логические раздаточной (холст холст, MapView MAPview, булева тень, долго, когда) {// TODO Auto-генерируемый метод заглушка super.draw (холст, MAPview, тень , когда); // перевести географические точки на экране пикселей Точка screenPts = новая точка (); MAPview. getProjection () toPixels (р, screenPts). // добавить маркер Bitmap BMP = BitmapFactory.decodeResource (GetResources (), R.drawable.hospitalbuilding); Растровые bmp1 = BitmapFactory.decodeResource (GetResources (), R.drawable.shadow); canvas.drawBitmap (BMP, screenPts.x, screenPts.y-50, NULL); canvas.drawBitmap (bmp1, screenPts.x, screenPts.y-40, NULL); возвращает истину; }} / ** Вызывается, когда активность создается впервые. * / @Override общественный недействительный OnCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.nearbyhospitals); // работа базы данных Намерение Намерение = getIntent (); Bundle дополнительные = intent.getExtras (); Строка hospital_name = extras.getString ( "Hname"); Тост. makeText (getApplicationContext (), hospital_name, Toast.LENGTH_LONG) .show (); // заполнить широчайшие и длинные постион здесь из базы данных или из других долготы = «31,44»; широта = "75.23"; MapView = (MapView) findViewById (R.id.mapView); mapView.setBuiltInZoomControls (истинный); mapView.setSatellite (истина); MC = mapView.getController (); Строка Темп = getCurrentLocation (); попробуйте {} поймать (Exception е) {// TODO: ручка исключение} Toast.makeText (getApplicationContext (), "Так вот мы получаем:" + широта + "" + долгота, Toast.LENGTH_LONG) .show (); Строка координаты [] = { "31", "71"}; //Toast.makeText (getApplicationContext (), координаты [0] + "" + координаты [1], тосты. LENGTH_LONG) .show (); двойной лат = Double.parseDouble (координаты [0]); двойная LNG = Double.parseDouble (координаты [1]); р = новый GeoPoint ((INT) (лат * 1E6), (INT) (LNG * 1E6)); mc.animateTo (р); mc.setZoom (13); // --- Добавить маркер местоположения --- MapOverlay mapOverlay = новый MapOverlay (); Список listOfOverlays = mapView.getOverlays (); listOfOverlays.clear (); listOfOverlays.add (mapOverlay); mapView.invalidate (); } @Override защищен булево isRouteDisplayed () {// TODO автоматическая генерация метод заглушки возвращают ложь; } Строка общественного getCurrentLocation () {двойной широта, долгота; LocationManager locManager; locManager = (LocationManager) getSystemService (Context.LOCATION_SERVICE); locManager. requestLocationUpdates (LocationManager.GPS_PROVIDER, 1000L, 500.0f, locationListener); Расположение расположение = locManager.getLastKnownLocation (LocationManager.GPS_PROVIDER); если (место! = NULL) {широта = location.getLatitude (); долгота = location.getLongitude (); вернуться Double.toString (широта) + "" + Double.toString (долгота); } Еще возвращение «Место не найден, пожалуйста, попробуйте еще раз»;
1

голосов
2

ответ
387

Просмотры

Google размещает миграцию списки, чтобы Google плюс бизнеса

У меня есть бизнес-листинг под собой места учетной записи Google. Google говорит, что мы все еще можем редактировать бизнес, используя один и тот же Google Места на счет. Бизнес не отображается больше на картах Google, не может найти его, что является правильным, потому что перечисление показывает 0 показов / действия. Что я должен делать? Есть вид миграции, с тем чтобы создать страницу Google +? Как? Не могу найти его. Просто игнорировать этот список и начать все заново в Google + для бизнеса? Информация, которую я нашел в интернете это варьироваться в замешательстве. Что ты сказал?
cmancre
1

голосов
3

ответ
3.6k

Просмотры

Как отсортировать результаты по расстоянию с API Google Адресов с помощью поисковых запросов поблизости

Я хочу, чтобы получить весь аэропорт возле моего заказа местоположения на расстоянии. Я использую поблизости поисковые запросы с API Google Адресов, используя этот адрес: https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=51.9143924,-0.1640153&sensor=true&key=api_key&radius=50000&types=airport результаты, которые я получаю немногочисленны, без того, что так всегда. Я попытался rankby = расстояние, но никакого результата не появится. и в соответствии с https://developers.google.com/places/documentation/search#PlaceSearchRequests документации «радиус не должен быть включен, если rankby = расстояние».
user991554
1

голосов
1

ответ
141

Просмотры

Google API места Подробности не показывать изображения, показанные на странице Google+

Я могу видеть фотографий на Google+ Адресов страницы, но эти снимки не извлекаются в Google API Адресов Подробности JSon ответ. Не все места, но некоторые места демонстрируют такое поведение. В качестве примера, я дам вам страницу Google+ для гостиницы и показать вам ответ JSon извлеченный: https://plus.google.com/104205878124399481073/about + страниц { «debug_info»: [], «html_attributions»: [], "результат": { "address_components": [{ "значение параметра long_name": "Ret 3 Lotes 12 лет 13", "short_name": "Ret 3 Lotes 12 лет 13", "типы": [ "street_number" ]}, { "значение параметра long_name": "Пасео Xaman-га", "short_name": " MX " "short_name": "", "типы MX": [ "страна", "политические"]}, { "параметра long_name": "77710", "SHORT_NAME: типы 77710 " """": [" postal_code "]}], "formatted_address":" Пасео Xaman-га Сход. 3 Lotes 12 лет 13, жилые дома Pakal, Плайя дель Кармен, Ая, Мексика», "formatted_phone_number": "01 984 803 1585", "геометрия": { "расположение": { "латы": 25,855920, "LNG": -97,4760320}}, "значок": "http://maps.gstatic.com/mapfiles/place_api/icons/lodging-71.png", "идентификатор" author_name»: "Юрий Диана Mateos", "author_url": "https://plus.google.com/105503150293220587391", "Текст": "Incribisisisimo El Paseo Chido Quien Бота Por jaltipan", "время": 1366422681}], "типы": [ "жилье", "установление"], "URL": "https://plus.google.com/104205878124399481073/about?hl=en-US", "utc_offset": -300, "окрестности" : «Paseo Xaman-ха Ret. 3 Lotes 12 лет 13, жилые дома Pakal, Плайя-дель-Кармен», "сайт": "http://www.eurostarshaciendavistareal.com/"}, "статус": "OK"} ком / 105503150293220587391" , "Текст": "Incribisisisimo El Paseo Chido Quien Бота Por jaltipan", "время": 1366422681}], "типы": [ "жилье", "создание"], "URL": «HTTPS: / /plus.google.com/104205878124399481073/about?hl=en-US " "utc_offset": -300, "окрестности":" Paseo Xaman-ха Ret. 3 Lotes 12 лет 13, жилые дома Pakal, Плайя-дель-Кармен», "сайт": "http://www.eurostarshaciendavistareal.com/"}, "статус": "OK"} ком / 105503150293220587391" , "Текст": "Incribisisisimo El Paseo Chido Quien Бота Por jaltipan", "время": 1366422681}], "типы": [ "жилье", "создание"], "URL": «HTTPS: / /plus.google.com/104205878124399481073/about?hl=en-US " "utc_offset": -300, "окрестности":" Paseo Xaman-ха Ret. 3 Lotes 12 лет 13, жилые дома Pakal, Плайя-дель-Кармен», "сайт": "http://www.eurostarshaciendavistareal.com/"}, "статус": "OK"} типы»: [ "жилье", "установление"], "URL": "https://plus.google.com/104205878124399481073/about?hl=en-US", "utc_offset": -300, "окрестности": «Paseo Xaman-ха Ret. 3 Lotes 12 лет 13, жилые дома Pakal, Плайя-дель-Кармен», "сайт": "http://www.eurostarshaciendavistareal.com/"}, "статус": "OK"} типы»: [ "жилье", "установление"], "URL": "https://plus.google.com/104205878124399481073/about?hl=en-US", "utc_offset": -300, "окрестности": «Paseo Xaman-ха Ret. 3 Lotes 12 лет 13, жилые дома Pakal, Плайя-дель-Кармен», "сайт": "http://www.eurostarshaciendavistareal.com/"}, "статус": "OK"}
1

голосов
1

ответ
327

Просмотры

Распаковка STATUS код Google Адреса ответа API

Я новичок в использовании JSON, и я имею вопрос выяснить, как извлечь код STATUS из Google Адреса ответа API. Я предполагаю, что проблема в том, что он является отдельным корневым элементом из массива результатов. Вот мой код для моего парсер: общественный класс PlaceJSONParser {/ ** получает JSONObject и возвращает список * / публичный список разобрана (JSONObject jObject) {JSONArray jPlaces = NULL; попробуйте {/ ** Возвращает все элементы в массиве 'Places' * / jPlaces = jObject.getJSONArray ( "результаты"); } Задвижка (JSONException е) {e.printStackTrace (); } / ** Вызов getPlaces с массивом объектов JSON *, где каждый объект JSON представляет собой место * / возврата getPlaces (jPlaces); } Частные Список getPlaces (JSONArray jPlaces) {INT placesCount = jPlaces.length (); Список placesList = новый ArrayList (); HashMap место = NULL; / ** Принимая каждое место, разбирает и добавляет к списку объектов * / для (INT I = 0; я
Chris D
1

голосов
2

ответ
939

Просмотры

Существуют ли ограничения по использованию на API Google Адресов фотографии?

Я понимаю, что ограничения на использование для мест Google API. Однако, как только вы сделали запрос на месте детали, иногда место будет иметь несколько фотографий к нему. Затем вы можете получить URL для этих фотографий с помощью следующей функции: photo.getUrl (MaxWidth: 200, MaxHeight: 200); Это работает поиск и фактический адрес изображения возвращается. Нет Ajax запрос не кажется, сделан на Googles API, он просто возвращает URL, который вы можете динамически добавлять в свой DOM. URL вернулся, как так: https://lh4.googleusercontent.com/-SG8x8m7avHc/UWm8kgkkKTI/AAAAAAAAAA8/6_wM5YoSnlk/w1280-h1280-s0/2013-04-13 Что мне нужно знать, если доступ к этим изображению имеет какое-то использование ограничение прилагается к нему. подсчитывать ли каждый вид, как один запрос Google Места API? Или все мнения по существу свободны, и это только начальный Место детали запроса, который рассчитывает на использование.
Gordo

Просмотр дополнительных вопросов