iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 一旦地图加载,显示带标题(注释)的Pin大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在开发我的第一个应用程序,并且在其中我只是尝试按下按钮单击显示带有引脚的地图(以及此引脚位置上的标题).我能够加载mapview并让它显示我想要的坐标.但是当我试图显示引脚和注释时,我遇到了问题.不知道在哪里编码以及如何使注释显示引脚.我搜索并看过很多教程,但是大多数都显示了不同的mapview样式,并且在用户选择上显示引脚,我想在地图加载时显示引脚. 这是我必须显示正在工作的地图但没有引脚显
我正在开发我的第一个应用程序,并且在其中我只是尝试按下按钮单击显示带有引脚的地图(以及此引脚位置上的@L_197_2@).我能够加载mapview并让它显示我想要的坐标.但是当我试显示引脚和注释时,我遇到了问题.不知道在哪里编码以及如何使注释显示引脚.我搜索并看过很多教程,但是大多数都显示了不同的mapview样式,并且在用户选择上显示引脚,我想在地图加载时显示引脚.

这是我必须显示正在工作的地图但没有引脚显示或注释的代码

FirstLocateViewController.m代码

#import "FirstLocateViewController.h"

@implementation FirstLocateViewController

@synthesize dismissviewButton;

-(IBACtion)dismissview:(id)sender {
[self dismissModalViewControllerAnimated:YES];
}

- (void)viewDidLoad {
[super viewDidLoad];
CGRect frame = CGRectMake(0,320,420);
mapView = [[MKMapView alloc] initWithFrame:frame];
mapView.mapType = MKMapTypeStandard;
CLLOCATIOnCoordinate2D coord = {latitude: 12.3456,longitude: -7.890};
MKCoordinateSpan span = {latitudeDelta: 0.05,longitudeDelta: 0.05};
MKCoordinateRegion region = {Coord,span};
[mapView setRegion:region];
[self.view addSubview:mapView];

}

FirstLocateViewController.h代码

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <MapKit/MKAnnotation.h>


@interface FirstLocateViewController : UIViewController <MKMapViewDelegate> {
UIButton *dismissviewButton;
MKMapView *mapView;
}

@property (nonatomic,retain) IBOutlet UIButton *dismissviewButton;

- (IBACtion)dismissviewButton:(id)sender;

@end

感谢您提前获得任何重要帮助.

解决方法

为此你需要创建一个注释,创建一个具有CLLOCATIOnCoordinate2D,title,subtitle的类
.h文件

#import <Foundation/Foundation.h>
#import <MapKit/MKAnnotation.h>


@interface Displaymap : NSObject <MKAnnotation> {

    CLLOCATIOnCoordinate2D coordinate; 
    NSString *title; 
    NSString *subtitle;
}
@property (nonatomic,assign) CLLOCATIOnCoordinate2D coordinate; 
@property (nonatomic,copy) NSString *title; 
@property (nonatomic,copy) NSString *subtitle;

@end

和.m文件

#import "Displaymap.h"


@implementation Displaymap

@synthesize coordinate,subtitle;


-(void)dealloc{
    [title release];
    [super dealloc];
}

@end

然后将以下代码添加到viewdidload

Displaymap *Ann = [[Displaymap alloc] init]; 
Ann.title=@"put title here";
Ann.coordinate = region.center; 
[mapView addAnnotation:Ann];

并实现以下@L_772_23@

-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:
(id <MKAnnotation>)Annotation {
    MKPinAnnotationView *pinView = nil; 
    if(Annotation != mapView.userLOCATIOn) 
    {
        static NSString *defaultPinID = @"com.invasivecode.pin";
        pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
        if ( pinView == nil ) pinView = [[[MKPinAnnotationView alloc]
                                          initWithAnnotation:Annotation reusEIDentifier:defaultPinID] autorelease];

        pinView.pinColor = MKPinAnnotationColorPurple; 
        pinView.canShowCallout = YES;
        pinView.animatesDrop = YES;
    } 
    else {
        [mapView.userLOCATIOn settitle:@"I am here"];
    }
    return pinView;
}

请按照此tutorial:给出解释代码

大佬总结

以上是大佬教程为你收集整理的iphone – 一旦地图加载,显示带标题(注释)的Pin全部内容,希望文章能够帮你解决iphone – 一旦地图加载,显示带标题(注释)的Pin所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。