首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在多边形内部创建一个洞- Google Maps Swift

在Google Maps Swift中,在多边形内部创建一个洞是通过添加一个内部多边形来实现的。内部多边形可以被视为洞,它将从外部多边形中减去。

以下是实现该功能的步骤:

  1. 创建外部多边形:使用GMSPolygon类创建一个外部多边形对象。该类代表一个封闭的多边形,可以通过指定一组经纬度坐标来定义。
  2. 创建内部多边形:使用GMSPolygon类创建一个内部多边形对象。内部多边形应该位于外部多边形的内部,并且不应与外部多边形相交。
  3. 设置内部多边形的填充颜色:使用fillColor属性设置内部多边形的填充颜色。可以使用UIColor类来指定颜色。
  4. 添加多边形到地图:使用GMSMapViewaddOverlay方法将外部多边形和内部多边形添加到地图上。

以下是一个示例代码片段,展示了如何在Google Maps Swift中创建一个具有内部洞的多边形:

代码语言:txt
复制
import GoogleMaps

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // 创建地图视图
        let camera = GMSCameraPosition.camera(withLatitude: 37.7749, longitude: -122.4194, zoom: 12.0)
        let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
        self.view = mapView

        // 创建外部多边形
        let outerPolygon = GMSPolygon()
        outerPolygon.path = GMSMutablePath()
        outerPolygon.path?.addLatitude(37.785834, longitude: -122.406417)
        outerPolygon.path?.addLatitude(37.768934, longitude: -122.431297)
        outerPolygon.path?.addLatitude(37.774785, longitude: -122.454979)
        outerPolygon.strokeColor = UIColor.black
        outerPolygon.strokeWidth = 2.0

        // 创建内部多边形
        let innerPolygon = GMSPolygon()
        innerPolygon.path = GMSMutablePath()
        innerPolygon.path?.addLatitude(37.7745, longitude: -122.419)
        innerPolygon.path?.addLatitude(37.7745, longitude: -122.421)
        innerPolygon.path?.addLatitude(37.775, longitude: -122.421)
        innerPolygon.fillColor = UIColor.red

        // 添加多边形到地图
        outerPolygon.map = mapView
        innerPolygon.map = mapView
    }
}

在上述示例中,我们创建了一个外部多边形,它由三个经纬度坐标点定义。然后,我们创建了一个内部多边形,它由三个经纬度坐标点定义,并设置了填充颜色为红色。最后,我们将外部多边形和内部多边形添加到地图上。

请注意,上述示例仅展示了如何在Google Maps Swift中创建一个具有内部洞的多边形。对于更复杂的需求,可能需要使用其他功能和技术来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

基于Turf.js教你快速实现地理围栏的合并拆分

如下图所示,不仅可以沿线一分为二,当线与多边形有多段相交时也可以分为多份,另外当多边形(环多边形)时也可以拆分后保持的形状。 [17211f4213f008de?...w=400&h=339&f=gif&s=4560436] 多边形的合并是指将多个多边形合并为一个多边形,其前提条件是多边形之间有交叉区域或者共边。...简单来说只要能筛选出在原大多边形内部的小多边形就好了,Turf提供了booleanContains、booleanDisjoint、booleanWithin等方法用于判断点、线、面的位置关系。...环多边形是指内部带“”的多边形,其拆分时有两种情况,一是拆分线穿过了,那么就变成了外轮廓,二是拆分线没有穿过,那么还整个保留。...但是这样的思考方式容易引导我们去将也进行拆分,然后再与外环拆分后的片段进行拼接。 还能有更简单的做法,将作为遮罩。即在拆分时只对外环多边形进行拆分,拆分完成之后对小多边形进行遮罩剔除。

3K30

50款大数据分析工具

❖ Excel:Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建内部使用的数据图,但是Excel颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图...❖ Kartograph:Kartograph不需要任何地图提供者像Google Maps,用来建立互动式地图,由两个libraries组成,从空间数据开放格式,利用向量投影的Python library...❖ Modest Maps:Modest Maps一个很小的地图库,一些扩展库的配合下,例如Wax、Modest Maps立刻会变成一个强大的地图工具。...,用来创建任意类型的SVG交互式图形,可生成包括线、矩形、多边形、椭圆、弧线等图形。...❖ Choosel:Choosel是可扩展的模块化Google网络工具框架,可用来创建基于网络的整合了数据工作台和信息图表的可视化平台。

3.5K20
  • 只会Excel怎么够?这49款数据可视化神器推荐收藏

    ❖ Excel:Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建内部使用的数据图,但是Excel颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图...❖ Kartograph:Kartograph不需要任何地图提供者像Google Maps,用来建立互动式地图,由两个libraries组成,从空间数据开放格式,利用向量投影的Python library...❖ Modest Maps:Modest Maps一个很小的地图库,一些扩展库的配合下,例如Wax、Modest Maps立刻会变成一个强大的地图工具。...,用来创建任意类型的SVG交互式图形,可生成包括线、矩形、多边形、椭圆、弧线等图形。...❖ Choosel:Choosel是可扩展的模块化Google网络工具框架,可用来创建基于网络的整合了数据工作台和信息图表的可视化平台。

    3.7K110

    50款大数据分析神器 :你还在用Excel

    ❖ Excel:Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建内部使用的数据图,但是Excel颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图...❖ Kartograph:Kartograph不需要任何地图提供者像Google Maps,用来建立互动式地图,由两个libraries组成,从空间数据开放格式,利用向量投影的Python library...❖ Modest Maps:Modest Maps一个很小的地图库,一些扩展库的配合下,例如Wax、Modest Maps立刻会变成一个强大的地图工具。...,用来创建任意类型的SVG交互式图形,可生成包括线、矩形、多边形、椭圆、弧线等图形。...❖ Choosel:Choosel是可扩展的模块化Google网络工具框架,可用来创建基于网络的整合了数据工作台和信息图表的可视化平台。

    1.8K10

    CGAL功能大纲

    这些功能需要对数据进行计算,这将推动创建一个新的内核概念,扩展CGAL内核概念,该概念仅限于FieldNumberType中的对象和功能。...由于并集、差分和对称差分等所有二元集合运算都可以简化为求交和补的运算,所以Nef多边形在这些运算下也是封闭的。除了集合补运算外,还有更多的拓扑一元集运算是Nef多边形内部、边界和闭包域中封闭的。...二维直骨架与缓冲2D Straight Skeleton and Polygon Offsetting 这个包提供了构造一个表示二维带孔多边形内部直线骨架的halfedge数据结构,以及构造给定直线骨架的任意偏移距离的向内偏移多边形...[带多边形拓扑规定]一个的二维多边形称之为外轮廓,在其有界区域内有零个或多个轮廓,称为内轮廓或或孔。外轮廓的有界区域与内轮廓的无界区域的交点是带孔多边形内部。...Combinatorial Maps ?? Generalized Maps ?? Linear Cell Complex ??

    1.2K10

    Stack Overflow 上的这些问题,加快了程序员的 秃头 速度...

    但是,尽管 JavaScript 可能是整体排名最高的编程语言,但当我们按时间划分数据时,我们发现需要一个新的王冠。 ?...3D 视频游戏的基本视觉构建块是多边形,而多边形的基本构建块是 “vector”(中 右)。 Java ? Java(1995)作为一种通用的 “一次写入,随处运行” 的语言而创建。...直到 Swift 推出为止。 Swift ? 首次出现于 2014 年的 Swift 苹果开发领域已取代 Objective-C。...这就解释了为什么我们看到 SQL 中 “ database ” 是一个普遍被讨论的概念,但在 Objective-C 等语言中却不是这样。...Google 可以帮助解决一些问题...... 但其他事情,我们还要找 Stack Overflow。 你对上述结果是不是有同感?欢迎留言曾经你遇到过的 “令人头秃” 的问题。

    72440

    哪些开发问题最让程序员“头秃”?我们分析了Stack Overflow的11000个问题

    3D 视频游戏的基本视觉构建块是多边形,而多边形的基本构建块是“vector”(中右)。 Java ? Java(1995)作为一种通用的“一次写入,随处运行”的语言而创建。...Swift ? 首次出现于 2014 年的 Swift 苹果开发领域已取代 Objective-C。...尽管标签为#swift 的 Stack Overflow 的问题中,“objective-c”被提及的频率(中右)可能代表了成千上万的 iOS 开发者希望 Stack Overflow 来更新他们的知识...这就解释了为什么我们看到 SQL 中“ database ”是一个普遍被讨论的概念,但在 Objective-C 等语言中却不是这样。...Google 可以帮助解决一些问题...... 但其他事情,我们还要找 Stack Overflow。 你对上述结果是不是有同感?欢迎留言曾经你遇到过的“令人头秃”的问题。

    49310

    ​哪些开发问题最让程序员“头秃”?我们分析了Stack Overflow的11000个问题

    3D 视频游戏的基本视觉构建块是多边形,而多边形的基本构建块是“vector”(中右)。 Java ? Java(1995)作为一种通用的“一次写入,随处运行”的语言而创建。...Swift ? 首次出现于 2014 年的 Swift 苹果开发领域已取代 Objective-C。...尽管标签为#swift 的 Stack Overflow 的问题中,“objective-c”被提及的频率(中右)可能代表了成千上万的 iOS 开发者希望 Stack Overflow 来更新他们的知识...这就解释了为什么我们看到 SQL 中“ database ”是一个普遍被讨论的概念,但在 Objective-C 等语言中却不是这样。...Google 可以帮助解决一些问题...... 但其他事情,我们还要找 Stack Overflow。 你对上述结果是不是有同感?欢迎留言曾经你遇到过的“令人头秃”的问题。

    51720

    ​什么问题最让程序员头秃?我们分析了11种语言的11000个问题

    但是,尽管 JavaScript 可能是整体排名最高的编程语言,但当我们按时间划分数据时,我们发现需要一个新的王冠。 ?...3D 视频游戏的基本视觉构建块是多边形,而多边形的基本构建块是“vector”(中右)。 07 Java ? Java(1995)作为一种通用的“一次写入,随处运行”的语言而创建。...09 Swift ? 首次出现于 2014 年的 Swift 苹果开发领域已取代 Objective-C。...尽管标签为#swift 的 Stack Overflow 的问题中,“objective-c”被提及的频率(中右)可能代表了成千上万的 iOS 开发者希望 Stack Overflow 来更新他们的知识...这就解释了为什么我们看到 SQL 中“ database ”是一个普遍被讨论的概念,但在 Objective-C 等语言中却不是这样。

    47820

    全球建筑矢量任意下载!微软补充发布7.7亿个全球建筑图斑

    近日,微软github上发布了最新的数据集,补充发布7.7亿个全球建筑物图斑。小助手立马去看了下,建筑矢量是从Bing Maps上提取的,下面一起看看数据情况。文末有数据下载链接。...我们从2014年到2021年间的Bing Maps图像中检测到了7.77亿座建筑物,包括Maxar和Airbus的图像。数据可在 ODbL 下免费下载和使用。 数据包括什么?...776,712,641 个建筑足迹多边形几何图形,以行分隔的 GeoJSON 格式分布在世界各地。 如何创建数据的?...建筑物提取分两个阶段完成: 语义分割——使用深度神经网络 (DNN) 识别航拍图像上的构建像素 多边形化——将建筑像素检测转换为多边形 第1阶段:语义分割 第2阶段:多边形化 数据下载 选择你所需区域直接下载即可...小助手这边随机下载了一个地区矢量,我们看看矢量效果如何。 数据包含区域 矢量格式是GeoJSON,可直接转换成.shp格式,依旧套合谷歌影像看看效果。 稍微有些偏移,不过整体还是不错。

    1.4K10

    55款大数据分析神器:你还在用Excel?

    01 Excel Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建内部使用的数据图,但是Excel颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图...15 Kartograph Kartograph不需要任何地图提供者像Google Maps,用来建立互动式地图,由两个libraries组成,从空间数据开放格式,利用向量投影的Python library...16 Modest Maps Modest Maps一个很小的地图库,一些扩展库的配合下,例如Wax、Modest Maps立刻会变成一个强大的地图工具。...、矩形、多边形、椭圆、弧线等图形。...24 Modest Maps Modest Maps一个轻量级、可扩展的、可定制的和免费的地图显示类库,这个类库能帮助开发人员在他们自己的项目里与地图进行交互。

    1.1K40

    55款大数据分析神器:你还在用Excel?

    01 Excel Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建内部使用的数据图,但是Excel颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图...15 Kartograph Kartograph不需要任何地图提供者像Google Maps,用来建立互动式地图,由两个libraries组成,从空间数据开放格式,利用向量投影的Python library...16 Modest Maps Modest Maps一个很小的地图库,一些扩展库的配合下,例如Wax、Modest Maps立刻会变成一个强大的地图工具。...、矩形、多边形、椭圆、弧线等图形。...24 Modest Maps Modest Maps一个轻量级、可扩展的、可定制的和免费的地图显示类库,这个类库能帮助开发人员在他们自己的项目里与地图进行交互。

    1.2K20

    一共56个,盘点最实用的大数据可视化分析工具

    一、Excel Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建内部使用的数据图,但是Excel颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图...https://www.nodebox.net/code/index.php/Home 十五、Kartograph、 Kartograph不需要任何地图提供者像Google Maps,用来建立互动式地图...十六、Modest Maps Modest Maps一个很小的地图库,一些扩展库的配合下,例如Wax、Modest Maps立刻会变成一个强大的地图工具。...SVG交互式图形,可生成包括线、矩形、多边形、椭圆、弧线等图形。...三十八、Choosel Choosel是可扩展的模块化Google网络工具框架,可用来创建基于网络的整合了数据工作台和信息图表的可视化平台。

    2.1K70

    【干货】数据可视化分析工具大集合

    Excel Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建内部使用的数据图,但是Excel颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图...jsDraw2DX jsDraw2DX是一个标准的JavaScript库,用来创建任意类型的SVG交互式图形,可生成包括线、矩形、多边形、椭圆、弧线等图形。 ? ?...Modest Maps Modest Maps一个轻量级、可扩展的、可定制的和免费的地图显示类库,这个类库能帮助开发人员在他们自己的项目里能够与地图进行交互。 ? ?...Kartograph Kartograph不需要任何地图提供者像Google Maps,用来建立互动式地图,由两个libraries组成,从空间数据开放格式,利用向量投影的Python library以及...OpenHeatMap OpenHeatMap简单易用,用户可以用它上传数据、创建地图、交流信息。它可以把数据(如Google Spreadsheet的表单)转化为交互式的地图应用,并在网上分享。

    2.5K50

    Jmix 2.2 发布

    MultiPolygon 是单一几何图形多边形的集合。...表单中将包含一个用于启动流程的按钮,该按钮调用流程引擎的 API。 向导的“表单模板”下拉列表中包含一个新的实体实例流程表单选项。如果选择此选项,向导将支持选择或创建 Entity 类型的流程变量。...现在,多对多映射中,按集合属性及其内部属性进行过滤与一对一映射一样简单:集合属性也显示通用过滤器的“添加条件”对话框中,并且所需的 JPQL 条件由框架自动生成。...因此,我们决定提供另一种更具声明性的方式来创建 UI 视图。开发人员无需从“添加组件”选项板中选择组件并对其进行配置,而是可以启动一个组件创建向导,向导界面中会提示一系列的问题。...以下截屏视频中,“编辑实体属性”向导创建一个 formLayout,其中包含数据容器中关联的字段: ▲通过向导添加复杂页面组件 此功能目前还处于实验阶段,我们计划未来会添加更多向导,以及考虑各种场景中的使用

    7400

    由判断三一点是否在三角形内部而引发的思考.....

    http://hi.baidu.com/wayright/item/ad18e4c0c5446b2dee4665c9 如何判断一个点是否一个多边形内部       多边性的存储中,每一个多边形都是由一系列连续的点组成...在这里判断一个点是否多边行内部(可以包括线上)就要利用到各个点的坐标关系。下面开始讨论具体的方法。       对任何事物的分析,我们应该遵守由简入繁的原则,这样才能提高条理性,少犯错误。...我们先判断一个点是否一个三角形内部一个三角形一个坐标系(譬如由A、B、C三点组成)中,我们可以通过计算它的有向面积来判断A、B、C三点坐标系中的顺逆。...对于凸多边形而言(以三角形ABC为例),假设存在一个点D,若这个点在三角形的内部,则以该点为起点,和原多边形的任意两个连续的且尊照多边形组成方向的点(如DAB、DBC、DCA)组成的三角形讲都是一个方向...这样就可以判断一个点是否一个多边形内部了。       以上说的仅仅是简单多边形而已,复杂多变形之中(如内、飞地等),还要通过多边形的拓扑运算来得到结果。

    1.2K80

    【收藏】55 款可视化分析工具,优秀数据分析师必备!

    一、Excel Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建内部使用的数据图,但是Excel颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图...https://www.nodebox.net/code/index.php/Home 十五、Kartograph Kartograph不需要任何地图提供者像Google Maps,用来建立互动式地图,...十六、Modest Maps Modest Maps一个很小的地图库,一些扩展库的配合下,例如Wax、Modest Maps立刻会变成一个强大的地图工具。...SVG交互式图形,可生成包括线、矩形、多边形、椭圆、弧线等图形。...三十八、Choosel Choosel是可扩展的模块化Google网络工具框架,可用来创建基于网络的整合了数据工作台和信息图表的可视化平台。

    2.4K50

    55 款必备可视化分析工具,让你工作事半功倍!

    一、Excel Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建内部使用的数据图,但是Excel颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图...https://www.nodebox.net/code/index.php/Home 十五、Kartograph Kartograph不需要任何地图提供者像Google Maps,用来建立互动式地图,...十六、Modest Maps Modest Maps一个很小的地图库,一些扩展库的配合下,例如Wax、Modest Maps立刻会变成一个强大的地图工具。...SVG交互式图形,可生成包括线、矩形、多边形、椭圆、弧线等图形。...三十八、Choosel Choosel是可扩展的模块化Google网络工具框架,可用来创建基于网络的整合了数据工作台和信息图表的可视化平台。

    1.9K60

    光栅化

    三角形是最基础的多边形,再退化就变成线段了;任何其它的多边形都可以拆分成三角形;三角形内部一定是平面的,比如四边形就不能保证是平面;三角形内外是清晰的,比如多边形内部如果有怎么办,像甜甜圈那样,如果不是凸多边形怎么办...,其他多边形就有各种各样的问题,而三角形就可通过向量的叉乘来判断一个点是否在内部还是外部;只要定义三角形三个顶点的属性,在三角形内部就可做一个渐变来填充三角形内部所有像素的属性。...那么我们拿像素中心来对屏幕空间进行采样,就是要算出屏幕空间的函数一个像素中心它的值是多少。...我们定义一个 inside 函数: 向量做叉乘,判断是否都在向量的左侧,则在三角形内部,否则就在外部。...彩色打印机上会有更复杂的分布: 光栅化后能看到一个很明显的现象,就是锯齿(Jaggies) 锯齿就是光栅化图形学里面一直致力于解决的严重问题。

    1.2K10

    可视化分析工具大集合,让数据美如画

    Excel Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建内部使用的数据图,但是Excel颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图...jsDraw2DX jsDraw2DX是一个标准的JavaScript库,用来创建任意类型的SVG交互式图形,可生成包括线、矩形、多边形、椭圆、弧线等图形。 ? ?...Modest Maps Modest Maps一个轻量级、可扩展的、可定制的和免费的地图显示类库,这个类库能帮助开发人员在他们自己的项目里能够与地图进行交互。 ? ?...Kartograph Kartograph不需要任何地图提供者像Google Maps,用来建立互动式地图,由两个libraries组成,从空间数据开放格式,利用向量投影的Python library以及...OpenHeatMap OpenHeatMap简单易用,用户可以用它上传数据、创建地图、交流信息。它可以把数据(如Google Spreadsheet的表单)转化为交互式的地图应用,并在网上分享。

    2.4K90
    领券