适用于iOS的google Places API中的位置偏差

时间:2016-06-22 19:08:52

标签: ios swift google-maps google-places-api

我有四个城市的界限。

BANGALORE(12.784305f, 77.352505f, 13.178402f, 77.840023f, "GMT+0530", "IN"),
DELHI(28.370917f, 76.803156f, 28.882014f, 77.432123f, "GMT+0530", "IN"),
MUMBAI(18.863098f, 72.750398f, 19.295282f, 73.071748f, "GMT+0530", "IN"),
CHENNAI(12.822149f, 79.979980f, 13.324029f, 80.393727f, "GMT+0530", "IN");

我想使用这些边界创建位置偏差,因此当我搜索时,结果应该只从这4个城市写出来。

我使用以下代码

创建了一次城市
let offset = 200.0 / 1000.0;
        let latMax = lat! + offset;
        let latMin = lat! - offset;
        let lngOffset = offset * cos(lat! * M_PI / 200.0);
        let lngMax = long! + lngOffset;
        let lngMin = long! - lngOffset;
        let initialLocation = CLLocationCoordinate2D(latitude: latMax, longitude: lngMax)
        let otherLocation = CLLocationCoordinate2D(latitude: latMin, longitude: lngMin)
        let bounds = GMSCoordinateBounds(coordinate: initialLocation, coordinate: otherLocation)

 **autocompleteController.autocompleteBounds = bounds**

所以我想知道,我们怎样才能实现这个目标

1 个答案:

答案 0 :(得分:0)

Google Places SDK for iOS中的自动填充控制器只允许您设置单个矩形lat-lng界限,以将自动完成结果偏向。

如果您真的需要一个同时显示来自4个地区的预测的解决方案,您可以编写自己的UI,该UI由4个GMSAutocompleteFetcher实例支持,每个城市一个。当用户键入文本时,将其提交给所有4个取消器并连接结果以供显示。