如何在iOS谷歌地图中显示信息窗口而无需点击标记?

alb*_*eee 27 google-maps infowindow ios google-maps-sdk-ios

我是iOS开发的新手.这是关于Google Maps iOS SDK中的标记信息窗口.

据我所知,我们可以使用GMSMarkerOption创建一个带信息窗口的标记.

GMSMarkerOption *myLocationOption = [GMSMarkerOption alloc];
myLocationOption .title = @"My Location";
myLocationOption .snippet = @"Lat:...., Lang:....";

[mapView addMarkerOption:myLocationOption];
Run Code Online (Sandbox Code Playgroud)

根据上面的代码,Marker按预期显示在Map View中.点击标记会在Google地图中显示"我的位置"信息窗口,这很好.

无论如何我们可以在用户进入自定义地图屏幕时以编程方式显示信息窗口吗?

est*_*oza 62

这在Google Maps SDK上发生了变化,因此更容易理解:

GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = coordinate;
marker.title = @"Location selected";
marker.snippet = @"Testing";
marker.map = mapView_;

//Show info window on map
[mapView_ setSelectedMarker:marker];
Run Code Online (Sandbox Code Playgroud)

您现在使用setSelectedMarker方法显示标记的信息窗口


Rik*_*les 31

GMSMarkerOptions *myLocationOptions = [GMSMarkerOptions options];
myLocationOptions.title = @"My Location";
myLocationOptions.snippet = @"Lat:...., Lang:....";

mapView.selectedMarker = [mapView addMarkerWithOptions:myLocationOptions];
Run Code Online (Sandbox Code Playgroud)

(注意它是选项,而不是选项)


Sou*_*rma 10

Swift 3.0

func addMarker(_ location:CLLocation){
        var locationMarker: GMSMarker!
        if locationMarker != nil {
            locationMarker.map = nil
        }
        locationMarker = GMSMarker(position: location.coordinate)
        locationMarker.map = mapView
        locationMarker.appearAnimation = kGMSMarkerAnimationPop
        locationMarker.icon = GMSMarker.markerImage(with: UIColor.green)
        locationMarker.opacity = 0.85
        locationMarker.isFlat = true
        locationMarker.snippet = "My Location"
        mapView.selectedMarker=locationMarker

    }
Run Code Online (Sandbox Code Playgroud)

以下是答案

mapView.selectedMarker=locationMarker
Run Code Online (Sandbox Code Playgroud)