iOS中的Google地图不会显示多个图钉

时间:2014-01-06 07:17:29

标签: ios iphone objective-c google-maps

我在iOS应用中使用谷歌地图SDK。我在绘制地图上的多个引脚时遇到困难。这就是我试图绘制引脚的方式。我使用完全相同的方法使用MapKit显示多个引脚工作正常但谷歌地图没有成功。

-(void)plotMembersOnMap
{

  for (NSMutableDictionary *obj in self.jsonDictionary)
  {
    membersDict = [obj objectForKey:@"members"];

    NSLog(@"Count member %d",[membersDict count]);  // shows count
    for (NSDictionary *obj in membersDict)
    {
        CLLocationCoordinate2D center;
        NSString *latitudeString = [obj objectForKey:@"lat"];
        NSString *longitudeString = [obj objectForKey:@"lng"];

        double latitude = [latitudeString doubleValue];
        double longitude = [longitudeString doubleValue];

        center.latitude =latitude;
        center.longitude = longitude;

        NSString *userName = [obj objectForKey:@"pseudo"];
        GMSMarker *marker = [[GMSMarker alloc] init];
        marker.map = mapView_;
        marker.position = CLLocationCoordinate2DMake(center.latitude, center.longitude);
        customGoogleCallout.callOutTitleLabel.text = @"Member";
        customGoogleCallout.callOutUserName.text = userName;
        marker.icon = [UIImage imageNamed:@"marker_membre.png"];


        }
  }

}

4 个答案:

答案 0 :(得分:1)

尝试将lat和lon添加到数组然后提供marker.position 有一些循环的i和位置是索引[i]的对象。

答案 1 :(得分:1)

这可能会有所帮助......

CLLocationCoordinate2D center = { [[obj objectForKey:@"lat"] floatValue] , [[obj    objectForKey:@"lon"] floatValue] };
GMSMarker *marker = [GMSMarker markerWithPosition:center];

答案 2 :(得分:0)

试试这个,

 NSArray *latitudeString = [obj objectForKey:@"lat"];
 NSArray *longitudeString = [obj objectForKey:@"lng"];  

而不是

 NSString *latitudeString = [obj objectForKey:@"lat"];
 NSString *longitudeString = [obj objectForKey:@"lng"];

答案 3 :(得分:0)

可能是因为它正在绘制您分配给center的最新坐标。您应该创建新实例,以便不会替换先前的值。