我想在MKAnnotation中添加一个可点击按钮,如地图应用程序的屏幕截图所示:
预览http://www.img-hosting.de/bilder/24558PlacemarkWithIconpng
在MKMapKit的地图视图控件中,我显示了用户的当前位置.蓝色圆圈显示为当前用户的位置.在点击时,它显示注释视图"当前位置",但我想在调出中显示一些文本.如何更改文本文本?
我正在开发一个应用程序,我必须使用地图MKMapView,但圆形?
任何想法,任何线索也会有所帮助.
在屏幕截图中看到,你会明白我在问什么.
请参阅圆圈中的地图.

我找到了关于缩放的主题,以适应标准尺寸方法的所有注释.我用过那段代码,但问题是地图只有150'高度(但是展位宽度).我使用的代码一切看起来都很好.但问题是地图上边缘显示的图钉始终不适合地图区域
这是代码.我试图增加填充但地图仍然看起来不平衡.好像我必须重新计算跨度的中心点.对于非标准尺寸的地图,任何人都有这个解决方案吗?我注意到在foursquare应用程序中它确实遇到了同样的问题,因为当地图很小时,上边缘显示的引脚不合适.
提前致谢
(void)zoomMapViewToFitAnnotations:(MKMapView *)mapView animated:(BOOL)animated
{
NSArray *annotations = mapView.annotations;
int count = [mapView.annotations count];
if ( count == 0) { return; } //bail if no annotations
//convert NSArray of id <MKAnnotation> into an MKCoordinateRegion that can be used to set the map size
//can't use NSArray with MKMapPoint because MKMapPoint is not an id
MKMapPoint points[count]; //C array of MKMapPoint struct
for( int i=0; i<count; i++ ) //load points C array by converting coordinates to points
{
CLLocationCoordinate2D …Run Code Online (Sandbox Code Playgroud) 在iOS 7中,您可以使用MapKit框架制作地图的静态快照.如果您想向某人发送带有位置信息的电子邮件,则非常有用.我唯一缺少的是:如何在该快照上绘制MKPolyline?
在Apple的iOS Devs论坛上发帖后没有回答,我试图看看是否有人对这样的问题有任何经验.我正在使用xcode for iOS 7.
MapView不会更新.我很确定模拟器中的问题,但我不知道如何检查它.我喜欢把这个项目放在一个真实的设备上,但我的iOS 7设备还在商店里.
我创建了嵌套在View下的MKMapView(嵌套在ViewController下) - >将CoreLocation和MapKit添加到Frameworks中 - >将MKMapView连接到右侧属性mapView.
我的文件看起来像这样:
MapScanViewController.h:
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface MapScanViewController : UIViewController<MKMapViewDelegate>
// I was trying to create a label and print the
// userLocation description into the label - but none worked
@property (nonatomic,retain) IBOutlet UILabel *myLabel;
@property (nonatomic,strong) IBOutlet MKMapView *mapView;
@end
Run Code Online (Sandbox Code Playgroud)
和MapScanViewController.m:
#import "MapScanViewController.h"
@implementation MapScanViewController
- (void)viewDidLoad
{
[super viewDidLoad];
_mapView.delegate = self;
}
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(userLocation.coordinate, …Run Code Online (Sandbox Code Playgroud) 我正在尝试添加注释 MKMapView
我创建了一个CustomMapPin符合MKAnnotation协议的类
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface CustomMapPin : NSObject <MKAnnotation> {
CLLocationCoordinate2D coordinate;
NSString *title;
NSString *subtitle;
}
@property(nonatomic, assign) CLLocationCoordinate2D coordinate;
@property(nonatomic, copy) NSString *title;
@property(nonatomic, copy) NSString *subtitle;
@property(nonatomic, strong) NSString *type; // this is to differentiate between the different annotations on the map
@end
Run Code Online (Sandbox Code Playgroud)
我创建了一个类CustomMapAnnotationView,它是一个子类MKAnnotationView
CustomMapAnnotationView.h
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface CustomMapAnnotationView : MKAnnotationView
@property (nonatomic, strong) UIImageView *annotationImage;
@end
Run Code Online (Sandbox Code Playgroud)
CustomMapAnnotationView.m
#import "CustomMapAnnotationView.h"
@implementation CustomMapAnnotationView
-(id) initWithAnnotation:(id<MKAnnotation>)annotation reuseIdentifier:(NSString …Run Code Online (Sandbox Code Playgroud) 我构建了一个视图混合与地图视图和表视图,我希望我可以按距离用户位置排序单元格,我尝试使用distanceFromLoaction方法,但它显示CLLocationCoordinate没有成员distanceFromLocaiton,还有另一种方法可以做它还是修好了?
这是我的数组结构
import UIKit
import MapKit
class tripSpot: NSObject, MKAnnotation{
var title: String?
var coordinate: CLLocationCoordinate2D
var regionRadius: Double
var location: String?
var type: String?
init(title:String , coordinate: CLLocationCoordinate2D , regionRadius: Double, location: String, type: String ){
self.title = title
self.coordinate = coordinate
self.regionRadius = regionRadius
self.location = location
self.type = type
}
}
Run Code Online (Sandbox Code Playgroud)
和我的tableviewcode
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("MapCell") as! mapTableViewCell
self.tripspot.sort({ $0.coordinate.distanceFromLoaction(self.coordinate) < $1.coordinate.distanceInKilometersTo(self.coordinate)})
if searchController.active{
cell.title.text = searchResults[indexPath.row].title
cell.location.text …Run Code Online (Sandbox Code Playgroud) 我有一个带有地图的应用程序,其中有一些带有注释的图钉。
我不明白如何在不点击的情况下显示特定引脚的注释。
我正在尝试学习MapKit并将其添加MKPolyLine为覆盖。几个问题:
MKPolyLine和之间有什么区别MKPolyLineView。什么时候应该使用哪一个?
对于MKPolyLineinit方法,参数之一是?的泛型type(MKMapPoint)UnsafePointer。不太确定那是什么意思。查找各种SO问题,似乎我们应该将CLLocationCoordinate2Dstruct 的内存地址作为参数传递,但这对我不起作用。
let testline = MKPolyline()
let coords1 = CLLocationCoordinate2D(latitude: 52.167894, longitude: 17.077399)
let coords2 = CLLocationCoordinate2D(latitude: 52.168776, longitude: 17.081326)
let coords3 = CLLocationCoordinate2D(latitude: 52.167921, longitude: 17.083730)
let testcoords:[CLLocationCoordinate2D] = [coords1,coords2,coords3]
let line = MKPolyline.init(points: &testcoords, count: testcoords.count)
mapView.add(testline)
Run Code Online (Sandbox Code Playgroud)我不断收到"& is not allowed passing array value as 'UnsafePointer<MKMapPoint>" argument"。
怎么了
mapkit ×10
ios ×7
mkmapview ×4
objective-c ×3
swift ×3
iphone ×2
mkannotation ×2
distance ×1
ios7 ×1
mkpolyline ×1
sorting ×1
swift3 ×1
swift4 ×1
uibutton ×1
xcode ×1