菜鸟教程小白 发表于 2022-12-13 16:12:12

ios - 谷歌地图上未显示注释或标记


                                            <p><p>有两个文件 .h 和 .m 有完整的代码,请帮我找出问题,为什么标记没有出现。
我也安装了 pod 文件和 <code>googlemap sdk</code>。一切正常,但只是没有显示标记,我也在日志中打印了值,它们运行良好,但 map 上没有标记或注释。</p>

<p>.h 文件</p>

<pre><code>#import &lt;UIKit/UIKit.h&gt;
#import &lt;GoogleMaps/GoogleMaps.h&gt;


@interface ViewController : UIViewController&lt;GMSMapViewDelegate&gt;{
NSArray *addressArray;
NSArray *name;
__weak IBOutlet UIView *loaderView;

}
@property (strong, nonatomic) IBOutlet GMSMapView *mapView;
@property (strong, nonatomic) ViewController *calloutView;
@property (strong, nonatomic) UIView *emptyCalloutView;

@end
</code></pre>

<p>.m 文件</p>

<pre><code>#import &#34;ViewController.h&#34;
#import &#34;SimplestGoogleMapApp-Prefix.pch&#34;
#import &lt;GoogleMaps/GoogleMaps.h&gt;

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
;
self.mapView.myLocationEnabled=YES;
self.mapView.mapType=kGMSTypeNormal;
self.mapView.settings.compassButton=YES;
self.mapView.settings.myLocationButton=YES;
self.mapView.delegate=self;
;

}
-(void)addMarlerToMap{
NSURL *kAPIURL = ;

NSString *jsonString = @&#34;data={some data}&#34;;

NSData *JSONData = ;

NSMutableURLRequest *request = ;
request.HTTPMethod = @&#34;POST&#34;;
request.HTTPBody = JSONData;

NSURLSessionDataTask *task = [ dataTaskWithRequest:request
                                                             completionHandler:^(NSData *data,
                                                                                     NSURLResponse *response,
                                                                                 NSError *error)
                              {
                                  if (!error)
                                  {
                                    NSError *JSONError = nil;

                                    NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data
                                                                                                 options:0
                                                                                                   error:&amp;JSONError];
                                    NSLog(@&#34;%@&#34;,dictionary);
                                    if (JSONError)
                                    {
                                          NSLog(@&#34;Serialization error: %@&#34;, JSONError.localizedDescription);
                                    }
                                    else
                                    {

                                          dispatch_async(dispatch_get_main_queue(), ^{
                              addressArray = dictionary[@&#34;data&#34;][@&#34;centers&#34;];


                loaderView.hidden = true;
      UIImage *pinImage = ;

      for(int i=0;i&lt;=;i++){
      self.view = _mapView;
      NSString *lat = [ objectForKey:@&#34;lat&#34;];
      NSString *lon = [ objectForKey:@&#34;lng&#34;];
            double lt=;
      double ln=;
      NSString *name = [ objectForKey:@&#34;category_name&#34;];
       NSLog(@&#34;%@ and %@ and %f and %f of %@&#34;,lat,lon, lt,ln,name);
                                                GMSMarker *marker = [ init];
                                                 // marker.animated=YES;
          marker.position = CLLocationCoordinate2DMake(lt,ln);
          marker.title = name;
          marker.map = _mapView;

   }});}}
   else
   {
      NSLog(@&#34;Error: %@&#34;, error.localizedDescription);
                                  }
                              }];
;
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><blockquote>
<p>From the chat it was figured out that your map was initialised to a
different location rather then the place where you were adding the
markers. To solve it use this code to animate the map to the marker
position</p>
</blockquote>

<pre><code>GMSCameraPosition *newCameraPosition = ;
;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 谷歌地图上未显示注释或标记,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/37019674/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/37019674/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 谷歌地图上未显示注释或标记