2014-10-16 2 views
1

У меня проблема с Google Map и API поиска мест.google places search api и «Объявления по» Текст

Каждый раз, когда я запускаю новый поиск, Google добавляет текст «Списки по blabla» на карте.

Если я запускаю несколько поисков, API добавляет несколько элементов с этими текстами на карте.

Посмотрите на нижнем правом углу: http://s14.directupload.net/images/141016/raq2cfah.jpg

Как я могу удалить этот слой, так что только один из этих элементов находится на карте?

ответ

0

Проблема заключается в том, что текст «Листинг по bla bla» добавляется каждый раз, когда вы создаете новый экземпляр google.maps.places.PlacesService. Чтобы решить эту проблему, убедитесь, что создан только один экземпляр PlacesService. Одно из решений, которое работало для меня, имело хранилище переменных при первом загрузке, а затем вызывало его со следующего раза.

//Have a local variable 
 
var placesService; 
 

 
//Method that will be using the search. 
 
performNearbySearch(placesRequest) { 
 

 
    //Check if the PlacesService is already instantiated else create it. 
 
    if (!this.placesService) { 
 
    this.placesService = new google.maps.PlacesService(this.gmap); 
 
    } 
 

 
    //Create a placesRequest 
 
    var request = placesRequest; 
 

 
    //Call the API. 
 
    this.placesService.nearbySearch(request, < callback Function > , true)); 
 
}

Таким образом, только в первый раз "появится список".

Проверить это для получения дополнительной информации https://groups.google.com/forum/#!topic/google-maps-js-api-v3/sQ-isvqfdBM

+0

Может быть какой-то код, чтобы объяснить использование? Или вы просто это сделали? –

+0

thx, это решение –

+0

@NeilLunn Извините за поздний ответ. Я искал ее, чтобы получить ответ. Проблема возникает каждый раз, когда мы выполняем поиск нового экземпляра google.maps.places.PlacesService, и списки отображаются для каждого создаваемого вами экземпляра. –

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