Google-Maps-iOS-Utils 6.0.0

Google-Maps-iOS-Utils 6.0.0

测试已测试
Lang语言 Obj-CObjective C
许可证 Apache-2.0
发布最新发布2024年7月

Son NguyenChris ArriolaGoogle Maps BotDaniel TehAngela Yu 维护。



  • 作者
  • Google Inc.

Run unit tests pod GitHub contributors Apache-2.0

Google Maps SDK for iOS 助手库

描述

本开源库包含了一组用于各种应用程序的类,这些应用程序使用了 Google Maps SDK for iOS

需求

  • 适用于iOS 13.0及以上版本
  • iOS Maps SDK(请参考版本获取最低兼容版本)

安装

  1. 使用以下任一安装选项(CocoaPods、XCFramework、Carthage(适用于v6.2.1及之前版本)或手动)引入GoogleMaps依赖项

  2. 使用以下方法之一添加此实用程序库

CocoaPods

在你的Podfile

use_frameworks!

target 'TARGET_NAME' do
    pod 'Google-Maps-iOS-Utils', '4.2.2'
end

替换TARGET_NAME,然后,在Podfile目录下,键入

pod install

Swift Package Manager

注意:此功能仅在Swift 5.3(Xcode 12)或更高版本中可用。

将以下内容添加到您的Package.swift文件的dependencies值中。

dependencies: [
  .package(
    url: "https://github.com/googlemaps/google-maps-ios-utils.git",
    .upToNextMinor(from: "4.2.2")
  )
]

Carthage

仅当使用 Maps SDK v6.2.1 或更早版本时受支持

在您的 Cartfile

github "googlemaps/google-maps-ios-utils" ~> 4.1.0

有关进一步安装说明,请参阅Carthage 文档

演示应用

有关 /samples 目录中 Swift 和 Objective-C 演示应用的说明,请参阅 README 文件。

文档

请访问 developers.google.com/docs 目录中的文档来阅读有关此实用库的文档。

用法

标记聚集

import GoogleMaps
import GoogleMapsUtils

class MarkerClustering: UIViewController, GMSMapViewDelegate {
  private var mapView: GMSMapView!
  private var clusterManager: GMUClusterManager!

  override func viewDidLoad() {
    super.viewDidLoad()

    // Set up the cluster manager with the supplied icon generator and
    // renderer.
    let iconGenerator = GMUDefaultClusterIconGenerator()
    let algorithm = GMUNonHierarchicalDistanceBasedAlgorithm()
    let renderer = GMUDefaultClusterRenderer(mapView: mapView,
                                clusterIconGenerator: iconGenerator)
    clusterManager = GMUClusterManager(map: mapView, algorithm: algorithm,
                                                      renderer: renderer)

    // Register self to listen to GMSMapViewDelegate events.
    clusterManager.setMapDelegate(self)
    // ...
  }
  // ...
}

let markerArray = [marker1, marker2, marker3, marker4] // define your own markers
clusterManager.add(markerArray)

clusterManager.cluster()

显示 KML 数据

import GoogleMaps
import GoogleMapsUtils

func renderKml() {
    // Parse KML
    let path: String = // Path to your KML file...
    let kmlUrl = URL(fileURLWithPath: path)
    let kmlParser = GMUKmlParser(url: kmlUrl)
    kmlParser.parse()

    // Render parsed KML
    let renderer = GMUGeometryRenderer(
        map: mapView,
        geometries: kmlParser.placemarks,
        styles: kmlParser.styles,
        styleMaps: kmlParser.styleMaps
    )
    renderer.render()
}

参与贡献

欢迎并鼓励贡献。请参阅贡献指南以获取指导。

支持

本库通过开源许可协议提供。它不受 Google Maps Platform 支持技术支持服务指南SLA弃用政策(尽管如此,库中使用的任何 Google Maps Platform 服务仍受 Google Maps Platform 服务条款约束)的约束。

本库遵循语义化版本控制,用以指示向后不兼容更改的引入。因此,在本库版本为 0.x 期间,任何时间都可能引入向后不兼容的更改。

如果您发现了一个错误,或有一个功能请求,请通过 GitHub 上的问题报告。如果您想从其他 Google Maps Platform 开发者那里获得技术问题的答案,请通过我们的开发者社区渠道之一询问,例如我们的Discord 服务器