交互式InfoWindow GoogleMaps iOS

Google Maps iOS API不支持交互式InfoWindows。 以下教程显示了如何通过向InfoWindow添加按钮来实现此功能。

使用GoogleMaps设置一个简单的应用程序

首先在XCode中创建一个单一视图应用程序。

将应用程序命名为GM-CustomInfoWindow-Button。 不要忘记也输入组织标识符。

XCode将为您生成一个新项目。 要使用GoogleMaps,您首先需要导入其库。 使用CocoaPods可以轻松完成此操作。 查看他们的站点以了解有关安装的更多信息。 使用Atom或记事本创建一个新文件并编写以下内容。

将文件保存在主项目目录中,并将其命名为Podfile。 然后在终端中,导航到您的主项目目录并运行pod install 。 CococaPods将为您安装所有必需的依赖项,并在您的主项目目录中创建一个工作区文件。 安装后,通过工作区文件打开您的应用程序。

为了使用GoogleMaps,您需要一个API密钥。 如果您不熟悉,那么绝对应该看看此页面 。 要使用GoogleMaps,您首先需要在Google的API控制台中注册您的应用程序,然后将API密钥复制到该应用程序中。 因此,首先通过单击导航区域上的应用程序名称导航到应用程序的常规设置。 在“常规”标签中,您会找到捆绑包标识符。

复制它并将其粘贴到API控制台中的API密钥的捆绑包标识符列表中。

这样,您已经为该特定的API密钥注册了应用程序。 接下来,您需要告诉您的应用程序必须使用哪个API密钥。 因此,转到AppDelegate类并import GoogleMaps 。 在方法func application(_ application: UIApplication, didFinishLaunchingWithOptions:....)用控制台中的API密钥替换“ YOUR-API-KEY”字符串(如下所示)。

下一步是创建mapView。 首先,首先更改您的ViewController文件。 首先,导入import GoogleMaps并实现GMSMapDelegate

 import UIKit import GoogleMaps class ViewController: UIViewController, GMSMapViewDelegate { } 

现在,您必须将ViewController连接到情节提要中的视图。 使用助手编辑器,通过创建一个名为mapView的IBOutlet并将故事板中ViewController的视图与ViewController文件连接起来,并将其类型更改为GMSMapView

 @IBOutlet weak var mapView: GMSMapView! 

在情节提要中,单击链接的视图,然后在Identity Inspector中将其类型更改为GMSMapView。

现在,我们已经链接了视图,我们必须将mapView的委托设置为self 。 最后,您的ViewController类应如下所示。

现在继续运行您的应用程序。 您应该会看到类似这样的内容。 如果没有,请确保您没有错过任何前面的步骤,并在控制台中阅读错误消息。