2013-04-04 34 views
20

Tôi mới phát triển iOS. Điều này liên quan đến cửa sổ thông tin Marker trong SDK Google Maps iOS.Cách hiển thị cửa sổ Thông tin trong bản đồ Google iOS mà không cần nhấn vào Marker?

Tôi hiểu, chúng tôi có thể tạo điểm đánh dấu bằng cửa sổ thông tin bằng GMSMarkerOption.

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

[mapView addMarkerOption:myLocationOption]; 

Theo mã trên, Điểm đánh dấu được hiển thị trong Chế độ xem bản đồ như mong đợi. Và nhấn vào điểm đánh dấu sẽ hiển thị cửa sổ thông tin "Vị trí của tôi" trong các bản đồ của Google rất tốt.

Có cách nào chúng tôi có thể hiển thị cửa sổ thông tin theo chương trình khi người dùng truy cập vào Màn hình bản đồ tùy chỉnh không?

Trả lời

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

mapView.selectedMarker = [mapView addMarkerWithOptions:myLocationOptions]; 

(lưu ý rằng đó là Options, không lựa chọn)

+0

gmsmarkeroptions? nó có bị khấu hao không? –

55

này đã thay đổi trên Google Maps SDK và nó dễ dàng hơn để hiểu:

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]; 

Bạn sử dụng tại setSelectedMarker phương pháp để hiển thị một cửa sổ thông tin của điểm đánh dấu

+0

i được sử dụng ở trên mã nhưng infowindow chỉ hiển thị khi tôi khai thác trên marker.is có anyway để hiển thị infowindow và pin đồng thời ?? –

+0

@BandishDave, mã ở trên phải làm những gì bạn đang tìm kiếm. Nếu không, có thể có gì đó đã thay đổi trên SDK một lần nữa – estemendoza

+0

@BandishDave - ** setSelectedMarker ** vẫn hoạt động vào ngày 26/12/14 (SDK v1.9.1). –

2
// 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 . 

Happy Cod ing :)

+5

Nó đã được trả lời 2 năm trước của bạn bởi @estemendoza! – Husam

7

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 

    } 

dưới đường là câu trả lời

mapView.selectedMarker=locationMarker 
3

nhanh chóng 3

self.mapView.selectedMarker = marker

Trong ngày e trường hợp nhanh chóng 3, bạn có thể mở snipet usint các selectedMarker

Nếu bạn đang tạo điểm đánh dấu trong một cách tương tự như:

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 
Các vấn đề liên quan