我正在尝试在Google Maps上实现自动完成搜索,以显示用户在地图上用标记选择的位置。
搜索正常。问题如下。当我从搜索结果中选择位置时,我得到一个GMSPlace对象,该对象具有正确的名称作为所选值,正确的位置ID(使用此link确认),但坐标不正确(class ProductIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.EdgeNgramField(
document=True, use_template=True,
template_name='C:/Users/loicq/Desktop/Coding/UVERGO_SEARCH/venv/src/templates/search/indexes/product_text.txt')
title = indexes.CharField(model_attr='title')
description = indexes.EdgeNgramField(model_attr="description")
destination = indexes.EdgeNgramField(model_attr="destination")
image = indexes.CharField(model_attr="image")
# Tags
ptags = indexes.MultiValueField(model_attr='_ptags', faceted=True)
# for auto complete
content_auto = indexes.EdgeNgramField(model_attr='destination')
# Spelling suggestions
suggestions = indexes.FacetCharField()
def get_model(self):
return Product
def index_queryset(self, using=None):
"""Used when the entire index for model is updated."""
return self.get_model().objects.filter(timestamp__lte=timezone.now())
或-180.0,-180.0
常量)。我在多个位置进行了测试。
大部分代码是从documentation借来的Places API。
kCLLocationCoordinate2DInvalid
任何帮助将不胜感激!
答案 0 :(得分:0)
我也遇到了同样的问题,并仔细阅读了Place SDK文档,该文档清楚地表明,我们应该在GMSPlaceField之前定义确切需要哪些细节,如果您完全遵循该文档,则只会在被填充的名称和placeId。 因此,在以以下方式实例化GMSAutoCompleteViewController定义时。
**let fields: GMSPlaceField = GMSPlaceField(rawValue:UInt(GMSPlaceField.name.rawValue) |
UInt(GMSPlaceField.placeID.rawValue) |
UInt(GMSPlaceField.coordinate.rawValue) |
GMSPlaceField.addressComponents.rawValue |
GMSPlaceField.formattedAddress.rawValue)!
autocompleteController.placeFields = fields**