2

我想在加载谷歌地图时添加多个图钉。

我有一个附近位置的纬度和经度值列表。如何使用图钉在地图上显示所有这些位置。我正在使用适用于 iOS 的 Google SDK。

我正在使用以下代码,但它对我不起作用。

NSMutableArray *array = [NSMutableArray arrayWithObjects:@"12.981902,80.266333",@"12.982902,80.266363", nil];

CLLocationCoordinate2D pointsToUse[5];

for (int i = 0; i < [array Size]; i++)
{
    pointsToUse[i] = CLLocationCoordinate2DMake([[[[array objectAtIndex:0]  componentsSeparatedByString:@","] objectAtIndex:0] floatValue],[[[[array objectAtIndex:0]  componentsSeparatedByString:@","] objectAtIndex:1] floatValue]);

    [array removeObjectAtIndex:0];

    GMSMarkerOptions *options = [[GMSMarkerOptions alloc] init];
    options.position = pointsToUse[i];
    [mapView_ animateToLocation:pointsToUse[i]];
    [mapView_ addMarkerWithOptions:options];
}

我已经尝试过足够的搜索,但没有足够的文档来回答我的问题。

在此先感谢您的帮助。

4

3 回答 3

3

这对我有用:

for(GMSMarker*marker in array)
    {
        GMSMarker *mkr= [[GMSMarker alloc]init];
        [mkr setPosition:CLLocationCoordinate2DMake(<coord>)];

        [mkr setAnimated:YES];
        [mkr setTitle:<Title>];
        [mkr setSnippet:<Snippet>];
        [mkr setMap:mapView_];
    }

使用最新的谷歌地图 SDK。

希望能帮助到你

于 2013-04-25T05:36:21.467 回答
1
self.view = mapView_;     
for(int i=0;i<[array count];i++)
{       
   GMSMarker *marker = [[GMSMarker alloc] init];
   marker.animated=YES;
   marker.position = CLLocationCoordinate2DMake(latitude,longitude);
   marker.title = @"name";
   marker.snippet = @"snippet";
   marker.map = mapView_;
}

这对我有用!

于 2013-07-13T11:54:58.493 回答
0

为了快速,我们可以使用

for i in 0..<array.count() {
    var marker = GMSMarker()
    marker.animated = true
    marker.position = CLLocationCoordinate2DMake(latitude, longitude)
    marker.title = "name"
    marker.snippet = "snippet"
    marker.map = mapView_
}
于 2017-09-19T08:29:37.767 回答