it-swarm.com.ru

Как показать информационное окно в iOS-картах Google, не нажимая на маркер?

Я новичок в разработке iOS. Это касается окна информации о маркере в Google Maps iOS SDK.

Я понимаю, мы можем создать маркер с информационным окном, используя GMSMarkerOption.

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

[mapView addMarkerOption:myLocationOption];

Согласно приведенному выше коду, маркер отображается в виде карты, как и ожидалось. При нажатии на маркер открывается информационное окно «Мое местоположение» на картах Google, и это хорошо.

Есть ли в любом случае мы можем показать информационное окно программно, когда пользователь переходит на пользовательский экран карты?

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

mapView.selectedMarker = [mapView addMarkerWithOptions:myLocationOptions];

(обратите внимание, что это Опции, а не Вариант)

31
Rikkles

Это изменилось в 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];

Вы используете сейчас setSelectedMarker метод, чтобы показать информационное окно маркера

59
estemendoza

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

    }

ниже строки ответ

mapView.selectedMarker=locationMarker
9
Sourabh Sharma

Swift 3

self.mapView.selectedMarker = marker

В случае Swift 3 вы можете открыть snipet usint для selectedMarker

Если вы создаете маркер аналогично:

marker.position = CLLocationCoordinate2D(latitude: 34.1331168, longitude: -118.3550723)
marker.title = "My super place name"
marker.snippet = "Are you looking a place to play? This is your place! "
marker.appearAnimation = kGMSMarkerAnimationPop
marker.map = self.mapView
3
MrMins
   // Below line will shows the infowindow for marker with out tapping on it
   [mapView setSelectedMarker:myLocationOptions]; // myLocationOptions is your desired GMSMarker to show Infowindow with out tapping .

Удачного кодирования :)

2
Naresh Reddy M

mMapView.selectedMarker = marker

1
xcodedeveloper

Для тех, кто приземлился здесь, используя MKMapView

mkMapView.selectedAnnotations = [annotation]
0
Jack

GMSMarkerOptions устарела. Это помогло мне показать информационное окно без

func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) {
    myMapView.selectedMarker = myGMSMarker
}
0
kumarsiddharth123