如何使用 swift 在谷歌地图中更改我的位置按钮的位置

     2023-02-23     68

关键词:

【中文标题】如何使用 swift 在谷歌地图中更改我的位置按钮的位置【英文标题】:How to change location of my location button in google maps using swift 【发布时间】:2017-11-30 08:27:13 【问题描述】:

我在我的项目中使用谷歌地图我想显示我的位置按钮 有点上升我应该如何使用 swift 来做到这一点

【问题讨论】:

@ Amma teja :- 我不认为你可以改变我的位置按钮的位置,但你可以做的是,创建你自己的按钮并给它任何你想要的框架。 【参考方案1】:

您可以通过设置地图视图的填充来更改MapControls 的位置。

 let mapView = GMSMapView()

 mapView.isMyLocationEnabled = true
 mapView.settings.myLocationButton = true

 mapView.padding = UIEdgeInsets(top: 0, left: 0, bottom: 50, right: 50)

它将改变我的位置控件的填充。从底部 50 像素和从右侧 50 像素

请参考下面的屏幕截图,它从底部和右侧添加了 50px 的填充。

【讨论】:

但是您可以看到当前位置的位置也发生了变化,但是我想在向上移动 myLocationButton 的同时保持当前位置中心。请问我该怎么做? @subramanian:这里有一点疑问,我只想改变我的位置按钮的位置。也不是“谷歌”文字 为此,一旦您更改位置按钮并按下按钮,当前位置将不会出现在中心位置。 如何启用地图工具栏...? 我们可以隐藏这个按钮吗?【参考方案2】:

和 Subramanian 一样,这非常有效:

mapView.padding = UIEdgeInsets(top: 0, left: 0, bottom: 50, right: 0)

如果您的应用中有导航栏,那就完美了。

【讨论】:

【参考方案3】:

swift 4 更新:仅更改我的位置按钮的位置

for object in self.mapView.subviews
            if(object.theClassName == "GMSUISettingsPaddingView")
                for view in object.subviews
                    if(view.theClassName == "GMSUISettingsView")
                        for btn in view.subviews
                            if(btn.theClassName == "GMSx_QTMButton")
                                var frame = btn.frame
                                frame.origin.y = frame.origin.y - 100
                                btn.frame = frame

                            
                        
                    
                
            
        

    public extension NSObject 
    public var theClassName: String 
        return NSStringFromClass(type(of: self))
    

【讨论】:

【参考方案4】:

这是我用于 Google Maps SDK 5.1.0 的函数,因为按钮的类已重命名为“GMSx_MDCFloatingButton”,以防有人需要更新的方法。

还取决于您的实现,您可能希望在 viewDidAppear() 上调用它。

func moveLocationButton()
        for object in self.googleMapsView!.subviews
            if(object.thisClassName == "GMSUISettingsPaddingView")
                for view in object.subviews
                    if(view.thisClassName == "GMSUISettingsView")
                        for btn in view.subviews
                            if(btn.theClassName == "GMSx_MDCFloatingButton")
                                var frame = btn.frame
                                frame.origin.x = frame.origin.x - 50
                                frame.origin.y = frame.origin.y - 150
                                btn.frame = frame
                                
                            
                        
                    
                
            
        
    

    public extension NSObject 
    var thisClassName: String 
        return NSStringFromClass(type(of: self))
       
    

【讨论】:

【参考方案5】:

使用这个函数并在 viewDidLayoutSubviews()

调用它
func changeLocationBtnFrame()
    self.mapView.settings.myLocationButton = true
    for obj in self.mapView.subviews
        if String(describing: obj.classForCoder) == "GMSUISettingsPaddingView"
            for viw in obj.subviews
                if String(describing: viw.classForCoder) == "GMSUISettingsView"
                    for btn in viw.subviews
                        if String(describing: btn.classForCoder) == "GMSx_MDCFloatingButton"
                            var frame = btn.frame
                            
                            btn.frame = CGRect(x: 316, y: 0, width: 56, height: 56)
                            //USE you want frame this line
                            break
                        
                    
                    break
                
            
            break
        
    

【讨论】:

如何使用 android studio 更改 Google 地图中“我的位置”按钮的位置

】如何使用androidstudio更改Google地图中“我的位置”按钮的位置【英文标题】:HowtochangethepositionofMyLocationButtoninGoogleMapsusingandroidstudio【发布时间】:2016-08-1514:17:52【问题描述】:我正在使用谷歌地图,我需要更改“我的位置”的... 查看详情

在谷歌地图中保留用户位置中心 - Swift

...题描述】:我已经在一个swift项目中实现了谷歌地图,并使用locationManager来跟踪并当前打印出用户的位置。当用户四处移动时,我也在更改相机位置,但是随着地图移动然后蓝点(用户位置)移动,这似乎有点不稳定。有没有办... 查看详情

我可以在 Android 地图中更改我的位置按钮吗

...这个图标按钮有没有办法在谷歌地图中替换这个图标。我如何在Android中做到这一点。由于问题不清楚,所以我添加了附加信息。在https://support.google.co 查看详情

如何使用谷歌 API 客户端在谷歌地图 Android 中显示我的当前位置

】如何使用谷歌API客户端在谷歌地图Android中显示我的当前位置【英文标题】:HowtoshowmycurrentlocationinGoogleMapAndroidusinggoogleAPIclient【发布时间】:2016-02-1719:44:20【问题描述】:我想在地图上显示我的位置并放大它。我想使用GoolgeAPIC... 查看详情

如何在谷歌地图应用程序中从另一个位置显示当前位置?

】如何在谷歌地图应用程序中从另一个位置显示当前位置?【英文标题】:HowtoshowthecurrentlocationfromanotherlocationingooglemapsApp?【发布时间】:2018-12-0706:19:24【问题描述】:我在我的应用程序中集成了谷歌地图。我必须显示从当前位... 查看详情

在谷歌地图android中更改标记的原点

...emapsandroid【发布时间】:2019-03-1812:54:00【问题描述】:我使用自定义标记来给出我当前的位置,但问题是它在我输入的位置显示图像部分的底部。我希望图像的中心位于我输入的位置!我正在为此使用GoogleMap和mapFragment!【问题... 查看详情

Android - 我如何在谷歌地图中实现位置准确性

】Android-我如何在谷歌地图中实现位置准确性【英文标题】:Android-howIcanIachievelocationaccuracyinGoogleMap【发布时间】:2014-06-3023:29:32【问题描述】:我目前正在自学Android编程。我正要编写一个应用程序,它可以在不使用GPS的情况下... 查看详情

在谷歌地图上显示我的位置?

...描述】:我从w3school获取他的代码。在这里,他们展示了如何将用户直接带到JavaScript代码中编写的地址。我不想将用户带到我在代码中设置的某个位置,而是将用户带到地图中的当前位置,但我可以找到一种方法来做到这一点。... 查看详情

如何在谷歌地图中平滑移动当前位置?

】如何在谷歌地图中平滑移动当前位置?【英文标题】:HowtosmoothlymovethecurrentpositioninGoogleMaps?【发布时间】:2018-10-2914:18:02【问题描述】:在我的Android项目中,我需要在车辆移动时,标记位置也应该平滑移动,但是当位置改变... 查看详情

如何在谷歌地图中找到我的应用程序的用户?

】如何在谷歌地图中找到我的应用程序的用户?【英文标题】:Howtofindmyapplication\'suseringooglemap?【发布时间】:2010-11-2514:19:49【问题描述】:我正在开发一个应用程序,我想在android市场上发布我的应用程序。我想找到使用我的应... 查看详情

如何在谷歌地图中获取位置的 MID?

】如何在谷歌地图中获取位置的MID?【英文标题】:HowtogettheMIDofalocationingooglemaps?【发布时间】:2014-11-2409:57:31【问题描述】:我需要在我的wordpress网站中添加地图,但我只需要在‘mid=’之后添加字符示例:-https://www.google.com/map... 查看详情

使用 TimerTask 在谷歌地图中设置地图

】使用TimerTask在谷歌地图中设置地图【英文标题】:setmapingooglemapswithTimerTask【发布时间】:2013-08-0401:53:08【问题描述】:我想在谷歌地图v2中更改地图的位置但我已经在TimerTask中完成了...目标、缩放、方位等等,它说"IllegalStateEx... 查看详情

在谷歌地图上隐藏其他位置

...tionongooglemap【发布时间】:2017-08-0902:48:29【问题描述】:如何在谷歌地图上隐藏其他酒店位置,我只想在我的项目中显示酒店位置。我尝试了许多不同的方式,比如能见度:关闭等等......但它也隐藏了我的酒店位置。请帮助纠正... 查看详情

如何在谷歌地图上显示当前街道位置?

】如何在谷歌地图上显示当前街道位置?【英文标题】:HowcanigetcurrentstreetlocationshowingonGoogleMap?【发布时间】:2011-12-2707:34:11【问题描述】:我希望我的网站用户在Google地图上显示他们当前的街道位置。就像“Facebook签到”一样... 查看详情

Flutter:如何使用 Getx Obx 更新标记在谷歌地图中的位置?

】Flutter:如何使用GetxObx更新标记在谷歌地图中的位置?【英文标题】:Flutter:HowdoIupdatemarkers\'positioningooglemapusingGetxObx?【发布时间】:2021-12-2715:09:29【问题描述】:我有关注viewimport\'dart:async\';import\'package:get/get.dart\';import\'package:... 查看详情

在谷歌地图android上显示位置

...有一个EditText和一个Button我想在地图中查找位置。我正在使用AsyncTask执行这里是我对AsyncTask类的调用。当我使用Toastmsg时,它会显示我的位置,但在地图中它被强制关闭newGeocoderTask().execute(locati 查看详情

在谷歌地图中将当前位置映射到目的地位置

】在谷歌地图中将当前位置映射到目的地位置【英文标题】:mappingcurrentlocationtodestinationlocationingoogleMaps【发布时间】:2011-07-0918:18:29【问题描述】:我的注释上有一个按钮,如下所示调用谷歌地图。我正在尝试将一条路线从我... 查看详情

单击标记时,新按钮会自动出现在谷歌地图(Android)上?如何删除?

...击标记时,新按钮会自动出现在谷歌地图(Android)上?如何删除?【英文标题】:newbuttonsappearautomaticallyongooglemaps(Android)whenclickonmarker?Howtoremove?【发布时间】:2016-05-2707:45:06【问题描述】:我在我的android应用程序中使用谷歌地... 查看详情