MMBGoogleLocationPicker 0.0.5

MMBGoogleLocationPicker 0.0.5

MahmoudMMB 维护。



 
依赖关系
GoogleMaps>= 0
GooglePlaces>= 0
 


  • MahmoudMMB

Goole LocationPicker

一款适用于应用的全功能且可自定义的位置选择器。

Language CocoaPods Carthage Compatible License

功能

  • 易于使用 - 适用于应用的位置选择器可以在 5 行代码内集成,LocationPicker 可以在 Storyboard 或程序中创建子类。
  • 选择各种位置 - 用户可以从当前位置、搜索结果或应用提供的位置列表中选择位置。
  • 无需担忧权限 - LocationPicker 会为您请求位置权限。

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。

您可以使用以下命令安装 CocoaPods:

$ gem install cocoapods

要使用 CocoaPods 将 LocationPicker 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它。

platform :ios, '8.0'
use_frameworks!

target 'YourApp' do
    pod 'MMBGoogleLocationPicker'
end

快速开始

编程方式

导入 MMBGoogleLocationPicker

import MMBGoogleLocationPicker

注意:如果您通过 Cocoapods 安装

import MMBGoogleLocationPicker

呈现 MMBGoogleLocationPicker,它需要嵌套在一个导航控制器内,以便可以取消显示。

LocationPicker.googleMapKey = "Your_Goole_map_key"
let locationPicker = LocationPicker.shared
locationPicker.pickCompletion = { (pickedLocationItem) in
    if let coordinate = pickedLocationItem.coordinate {
        debugPrint("Picked location is (latitude: \(coordinate.latitude), longitude: \(coordinate.longitude))")
    }
}
locationPicker.addBarButtons()
// Call this method to add a done and a cancel button to navigation bar and set navigation bar background.
let navigationController = UINavigationController(rootViewController: locationPicker)
navigationController.navigationBar.isTranslucent = false
navigationController.navigationBar.tintColor = .white
navigationController.navigationBar.barTintColor = .black
navigationController.view.backgroundColor = .black
navigationController.viewControllers.first?.view.backgroundColor = .black
present(navigationController, animated: true, completion: nil)
func addBarButtons

此方法提供了 3 个可选参数。可以将 doneButtonItemcancelButtonItem 设置为自定义的 UIBarButtonItem 对象。doneButtonOrientation 用于确定这两个按钮的排列方式。如果未提供任何参数,将使用两个系统样式按钮,将完成按钮放在右侧。

调用此方法后,可以通过 barButtonItems 属性访问这两个按钮。

func setColors

此方法旨在更方便地设置颜色。themColor 将设置为 currentLocationIconColorsearchResultLocationIconColoralternativeLocationIconColorpinColor。此方法还可以设置 primaryTextColorsecondaryTextColor

func setLocationDeniedAlertControllerTitle

此方法同时提供了 locationDeniedAlertController 的文本。

如果没有调用此方法,警告控制器将按以下方式呈现

授权 按钮将直接用户引导到设置,可以在其中更改位置访问权限。

文本

属性名称 默认值 目标 备注
currentLocationText "当前位置" currentLocationCell.locationNameLabel.text 表示用户当前位置的文本
searchBarPlaceholder "搜索位置" searchBar.placeholder 请求用户搜索位置的文本
locationDeniedAlertTitle "位置访问被拒绝" alertController.title 提醒控制器的标题文本
locationDeniedAlertMessage "授予位置访问权限以使用当前位置" alertController.message 提醒控制器消息的文本
locationDeniedGrantText "授予" alertAction.title 提醒控制器“授予”按钮的文本
locationDeniedCancelText "取消" alertAction.title 提醒控制器“取消”按钮的文本

颜色

属性名称 默认值 目标 备注
tableViewBackgroundColor UIColor.white tableView.backgroundColor 表格视图的背景颜色
currentLocationIconColor UIColor(hue: 0.447, saturation: 0.731, brightness: 0.569, alpha: 1) UIImage() 当前位置单元格中显示的图标的颜色,可以通过属性currentLocationIconImage更改图标图片
searchResultLocationIconColor UIColor(hue: 0.447, saturation: 0.731, brightness: 0.569, alpha: 1) UIImage() 搜索结果位置单元格显示的图标的颜色,可以通过属性searchResultLocationIconImage更改图标图片
alternativeLocationIconColor UIColor(hue: 0.447, saturation: 0.731, brightness: 0.569, alpha: 1) UIImage() 备选位置单元格显示的图标的颜色,可以通过属性alternativeLocationIconImage更改图标图片
pinColor UIColor(hue: 0.447, saturation: 0.731, brightness: 0.569, alpha: 1) UIImage() 地图视图中中心的针的颜色,可以通过属性pinImage更改针的图片
primaryTextColor UIColor(colorLiteralRed: 0.34902, green: 0.384314, blue: 0.427451, alpha: 1) 多项 搜索栏和位置名称标签在位置单元格中的文本颜色
secondaryTextColor UIColor(colorLiteralRed: 0.541176, green: 0.568627, blue: 0.584314, alpha: 1) 多项 位置单元格中地址标签的文本颜色

图片

属性名称 目标 备注
currentLocationIconImage currentLocationCell.iconView.image 当前位置单元格中显示的图标图片,此图片的颜色不会受属性currentLocationIconColor的影响
searchResultLocationIconImage searchResultLocationCell.iconView.image 搜索结果位置单元格中显示的图标图片,此图片的颜色不会受属性searchResultLocationIconColor的影响
备选位置图标图像 备选位置单元.iconView.image 在备选位置单元中显示的图标图像,该图像的颜色不会受到备选位置图标颜色属性的影响

变更日志

CHANGELOG.md

贡献

  • 如果你遇到任何错误或其他问题,请创建问题或拉取请求。
  • 如果你想为LocationPicker添加更多功能,请随时创建拉取请求。
  • 如果你擅长英语,请纠正我的英语。
  • 如果你喜欢这个项目,请给它加星并与他人分享。
  • 如果你已在你的应用程序中使用LocationPicker,请通过创建一个问题来告诉我。

许可协议

MIT 许可协议 (MIT)

版权所有 (c) 2016 Jerome Tan

兹特此免费许可,任何人获得本软件及其相关文档副本(以下简称“软件”),可以不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许向软件提供的人这样做,前提是遵守以下条件:

必须包含上述版权声明和本许可声明在内的所有副本或实质性部分。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定目的适用性和非侵权性保证。在任何情况下,作者或版权持有者不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他原因产生的,此类索赔、损害或其他责任源于、源于或与软件的使用或任何其他行为有关。