2017-05-03 17 views
0

みんな私はGoogleの場所やマップapiに関連するこのプロジェクトをやっている。 私がしたいのは、最も近いレストランを探すことです。しかし、地図上に複数の円を配置することはできません。ユーザーの現在地の地図上に1つのマーカーが表示されます。ここにコードがあります。Googleマップ複数のサークル

func setUpMarkersForLibraries(locations: [CLLocationCoordinate2D]){ 
print("Setting up Markers") 
var i = 0 
for l in locations{ 
    let circleCenter = l 
    let circ = GMSCircle(position: circleCenter, radius: 30) 

    circ.fillColor = UIColor(red: 0, green: 0.89, blue: 0, alpha: 0.8) 
    circ.strokeColor = .black 
    circ.strokeWidth = 5 
    circ.title = "\(i)" 
    circ.map = mapView 

} 
} 

GoogleプレイスAPIウェブサービスを使用して取得したすべての場所の座標を渡します。だから、20の場所があるので、20のマーカーがあるはずです。しかし、何もありません。私が間違っていることを教えてください。ありがとうございました。

+0

あなたのビューにあなたのマップビューを追加していますか? self.view = mapView –

+0

はい、私は自分のviewDidLoadメソッドでそれを行います。 –

+0

@AnthonyTaylor何が問題だろうか? –

答えて

0

この機能は正常です。

地図に描かれたマーカーは更新されない可能性があります。ユーザーの所在地とは異なります。サークルが追加される可能性が最も高い機能は、私はカスタム注釈を作成するために使用するMapKitについて

マーカー中にマップに追加される前に/あなたのメソッドを呼び出します... /マーカーは次のとおりです。

のMapView(_のMapView:MKMapView、viewFor注釈: MKAnnotation) - > MKAnnotationView?

マップオーバーレイではなく、マーカーのプロパティになるので、座標に円を追加するよりも優れています。

GMSMarkerプロパティiconViewを使用してカスタムビューを追加することもできます。

これは、ハッピーコーディングに役立ちます。

+0

私はMapKitを使用していません。また、 "あなたのメソッドを呼び出すことによって/マーカーがマップに追加されたときに、何を意味するのですか? –

+0

メーカーにマップを設定する前にsetUpMarkersForLibraries()を呼び出してください:marker.map = mapView、配列を反復していると仮定しています。 – RLoniello

+0

あなたは私はあなたがこれに似たものを使用することができたとし、配列を反復している場合 'VARライブラリ:?[GMSMarker] = []図書館におけるマーカーの は{ //が LET円をUIViewの使用して円を作成します= circle.layer.cornerRadius = 50 circle.backgroundColor = UIColor.blue circle.alpha = 0.8 circle.clipsToBounds = UIView(フレーム:CGRect(x:0.0、y:0.0、width:30.0、height:30.0) t RUE //アイコンビュー markers.iconView =円に円を追加 // marker.map =のMapView をマッピングするためにライブラリを追加} ' – RLoniello

関連する問題