Как показать информационное окно в картах iOS Google, не нажимая на маркер?
Я новичок в разработке iOS. Это касается окна информации о маркерах в SDK Google Maps iOS.
Я понимаю, мы можем создать маркер с информационным окном, используя GMSMarkerOption.
GMSMarkerOption *myLocationOption = [GMSMarkerOption alloc];
myLocationOption .title = @"My Location";
myLocationOption .snippet = @"Lat:...., Lang:....";
[mapView addMarkerOption:myLocationOption];
В соответствии с приведенным выше кодом маркер отображается в представлении карты как ожидалось.
И нажатие на маркер показывает информационное окно "Мое местоположение" на картах Google, что хорошо.
В любом случае мы можем программно отображать информационное окно, когда пользователь переходит на экран пользовательских карт?
Ответы
Ответ 1
GMSMarkerOptions *myLocationOptions = [GMSMarkerOptions options];
myLocationOptions.title = @"My Location";
myLocationOptions.snippet = @"Lat:...., Lang:....";
mapView.selectedMarker = [mapView addMarkerWithOptions:myLocationOptions];
(обратите внимание, что это Options, а не Option)
Ответ 2
Это изменилось в SDK Google Maps, и это легче понять:
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 для отображения информационного окна маркера
Ответ 3
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
Ответ 4
// 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 .
Счастливое кодирование:)
Ответ 5
swift 3
self.mapView.selectedMarker = marker
В случае быстрого 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