USIGNormalizador 2.2.0

USIGNormalizador 2.2.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
Released最后发布2019年10月
SPM支持 SPM

Tobias Lewinzon 维护。



 
依赖
RxCocoa~> 4.1
Moya/RxSwift~> 10.0
DZNEmptyDataSet~> 1.8
 

  • Rita Zerrizuela

USIGNormalizador

Version Platform Build Status

CABA 和 AMBA 地址规范服务的 iOS 客户端,使用 Swift 4 开发。

安装

Cocoapods

在项目的 Podfile

pod 'USIGNormalizador', '~> 2.0'

Carthage

在项目的 Cartfile

github "gcba/usig-normalizador-ios" ~> 2.0

方法

按街道搜索

根据搜索词返回一个按相关性排序的地址数组。

USIGNormalizador.search(query: <Nombre o parte del nombre de una calle>) { result, error in
    // Do something
}

可选参数

excluding(字符串可选)

要从搜索中排除的地点,用逗号分隔。默认情况下,排除AMBA的所有地点(仅获取CABA的结果)。

USIGNormalizador.search(query: "Callao", excluding: nil) { result, error in
    // Do something
}
maxResults(整数)

返回结果的最大数量。默认为10。

USIGNormalizador.search(query: "Callao", maxResults: 7) { result, error in
    // Do something
}
includePlaces(布尔值)

是否在搜索中包含地点。默认为true。

USIGNormalizador.search(query: "Callao", includePlaces: false) { result, error in
    // Do something
}

可选参数可以一起使用,也可以分开使用。

USIGNormalizador.search(query: "Callao", excluding: nil, maxResults: 7, includePlaces: false) { result, error in
    // Do something
}

按坐标搜索

返回最接近经纬度的地址。

USIGNormalizador.location(latitude: <Una latitud>, longitude: <Una longitud>) { result, error in
    // Do something
}

接口

Screenshot

允许通过街道或地点名称进行搜索。搜索接口控制器应由一个 UINavigationController 提供。

let searchController = USIGNormalizador.searchController()
let navigationController = UINavigationController(rootViewController: searchController)

searchController.delegate = self

present(navigationController, animated: true)

编辑

可以在显示控制器之前预加载一个搜索术语。

searchController.edit = "CALLAO AV. 123"

模式

有两种可选模式,可以单独或同时激活。

显示标记

在表格顶部添加一个包含 Map pin 图像和可配置文本的单元格。当点击它时,将执行委托的 didSelectPin 方法。通过实现委托的 shouldShowPin 方法使其返回 true 来激活。

不强制规范化

允许用户编写并选择一个不在搜索结果中的街道。显示一个包含输入搜索词的单元格在结果上方,当点击它时,将此值传递给 didSelectUnnormalizedAddress 方法。当委托的 shouldForceNormalization 方法返回 false 时激活。

委托

通过实现USIGNormalizadorControllerDelegate协议的方法来配置搜索控制器。必须实现didSelectValue方法;其他方法都是可选的。

shouldShowPin

是否显示带PIN的单元格。默认值是false

func shouldShowPin(_ searchController: USIGNormalizadorController) -> Bool {
    return true
}

shouldForceNormalization

是否强制进行地址标准化。默认值是true

func shouldForceNormalization(_ searchController: USIGNormalizadorController) -> Bool {
    return false
}

shouldIncludePlaces

是否在搜索中包括地点。默认值是true

func shouldIncludePlaces(_ searchController: USIGNormalizadorController) -> Bool {
    return false
}

shouldShowDetails

是否显示每个地址的政党和国籍。默认值是false

func shouldShowDetails(_ searchController: USIGNormalizadorController) -> Bool {
    return true
}

didSelectValue

在搜索结果中点击时执行。

func didSelectValue(_ searchController: USIGNormalizadorController, value: USIGNormalizadorAddress) {
    // Do something
}

didSelectUnnormalizedAddress

当选择用户自定义编写的地址时执行。

func didSelectUnnormalizedAddress(_ searchController: USIGNormalizadorController, value: String) {
    // Do something
}

didSelectPin

触摸到PIN的单元格时执行。

func didSelectPin(_ searchController: USIGNormalizadorController) {
    // Do something
}

didCancelSelection

如果触摸到取消按钮。

func didCancelSelection(_ searchController: USIGNormalizadorController) {
    // Do something
}

exclude

要排除的地点,用逗号分隔。默认值是AMBA地区的地点(只为显示CABA的结果)。

func exclude(_ searchController: USIGNormalizadorController) -> String {
    return nil
}

maxResults

返回的最大结果数量。默认为10。

func maxResults(_ searchController: USIGNormalizadorController) -> Int {
    return 7
}

pinImage

允许更改PIN的图标。

func pinImage(_ searchController: USIGNormalizadorController) -> UIImage! {
    return UIImage(named: "MyIcon")
}

pinColor

应用于PIN图标的不透明颜色。默认颜色是UIColor.lightGray

func pinColor(_ searchController: USIGNormalizadorController) -> UIColor {
    return UIColor.black
}

pinText

将显示在PIN旁边的文本。默认文本为"在地图上固定位置"

func pinText(_ searchController: USIGNormalizadorController) -> String {
    return "Marcar en el mapa"
}

addressImage

允许更改地址的图标。

func addressImage(_ searchController: USIGNormalizadorController) -> UIImage! {
    return UIImage(named: "MyIcon")
}

addressColor

将应用于地址图标的颜色。默认颜色是 UIColor.lightGray

func addressColor(_ searchController: USIGNormalizadorController) -> UIColor {
    return UIColor.black
}

placeImage

允许更改地点的图标。

func placeImage(_ searchController: USIGNormalizadorController) -> UIImage! {
    return UIImage(named: "MyIcon")
}

placeColor

将应用于地点图标的颜色。默认颜色是 UIColor.lightGray

func placeColor(_ searchController: USIGNormalizadorController) -> UIColor {
    return UIColor.black
}

Localización

要使 取消 按钮显示为西班牙语,请确保在 appInfo.plist 中,Localization native development region 键的值是 es

API

USIGNormalizador.api公开了一个Moya provider,可以直接调用USIG地址标准化服务

许可协议

MIT License

Copyright (c) 2017+ Buenos Aires City Government

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.