美文网首页
地图相关 MapKit

地图相关 MapKit

作者: woo_5857 | 来源:发表于2023-03-19 10:02 被阅读0次

地图相关

import UIKit 

import MapKit 

class GKMapView: UIView { 

var mapView : MKMapView? 

override init(frame: CGRect) { 

        super. init(frame: frame) 

        self. backgroundColor = UIColor. colr(withHexStr: "#FFFFFF") 

self.initUI() 

    required init? (coder: NSCoder) { 

fatalError("init(coder:) has not been implemented") 

//longitude经度  latitude纬度 

func showCoordinatToMap(longitude :Double, latitude :Double, schoolName:String) { 

//设置区域的经纬度坐标 

let nCennter = CLLocationCoordinate2D(latitude: latitude, longitude: longitude) 

//设置经纬度范围(越小越精确) 

let span = MKCoordinateSpan(latitudeDelta: 0.1, longitudeDelta: 0.1) 

let region = MKCoordinateRegion(center: nCennter, span: span) 

//        mapView?. setRegion(region, animated: true) 

        mapView?. setRegion(region, animated: false) 

let ann = GKAnnnotation() 

        ann. coordinate = nCennter 

        ann. title = schoolName 

        ann. subtitle = "学校位置" 

mapView?.addAnnotation(ann) 

func initUI() { 

//设置地图的属性 

        mapView = MKMapView(frame: CGRect. init(x: 0, y: 0, width: zScale(x: 315), height: 123)) 

        mapView?. mapType = .standard 

mapView?.delegate = self 

self.addSubview(mapView!) 

        mapView?.snp. makeConstraints { make in 

make.edges.equalToSuperview() 

extension GKMapView :MKMapViewDelegate { 

//地图开始加载 

func mapViewWillStartLoadingMap(_ mapView: MKMapView) { 

//地图加载完毕 

func mapViewDidFinishLoadingMap(_ mapView: MKMapView) { 

//地图区域将要改变 

func mapView(_ mapView: MKMapView, regionWillChangeAnimated animated: Bool) { 

//地图区域已经改变 

func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) { 

class GKAnnnotation: NSObject, MKAnnotation { 

// Center latitude and longitude of the annotation view. 

// The implementation of this property must be KVO compliant. 

var coordinate: CLLocationCoordinate2D = CLLocationCoordinate2D(latitude: 0, longitude: 0) 

// Title and subtitle for use by selection UI. 

var title: String? 

var subtitle: String? 

}

如果我们要搜索周围100米餐厅代码如下:

    MKCoordinateRegionregion= MKCoordinateRegionMakeWithDistance(coordinate,100,100);

    MKLocalSearchRequest *request= [[MKLocalSearchRequestalloc]init];

    request.region = region;

    request.naturalLanguageQuery = @"Restaurants";

    MKLocalSearch*localSearch = [[MKLocalSearchalloc]initWithRequest:request];

    [localSearch startWithCompletionHandler:^(MKLocalSearchResponse *response,NSError*error){

        if(!error) {

            //do something.

        }else{

            //do something.

        }

    }];

其中naturalLanguageQuery就是要搜索的关键字,我试过的所有关键字有cafe, supermarket,village,Community,Shop,Restaurant,School,hospital,Company,Street,Convenience store,Shopping Centre,Place names,Hotel,Grocery store每个关键字搜索返回结果只有10条,如果当前范围无搜索结果,则扩散搜索范围。如果你想列出周围所有相关位置信息,我认为需要尽可能的把所有的能够想到的关键字都举例出来进行搜索,搜索完成后进行经纬度比较然后刷选出范围内的相关位置。而且由于数据来源问题,很多位置信息都没有!当然如果你只兼容国内,还是使用百度或者腾讯地图算了。

相关文章

  • 地图相关 MapKit框架

    介绍 1.概念 导入头文件 #import MapKit框架中所有数据类型的前缀都是MK MapKit有一个比较重...

  • UI(三十五)地图

    地图:导入#import 1、介绍 (1)导入框架MapKit->MKMapView所有与地图相关的都是以“MK”...

  • iOS - 地图

    地图:导入#import 1、介绍 (1)导入框架MapKit->MKMapView所有与地图相关的都是以“MK”...

  • iOS地图MapKit和定位CoreLocation(下) --

    一些简单认识:与地图相关的一个库是MapKit ,MapKit是用于地图展示的,例如大头针,路线、覆盖层展示等(着...

  • iOS Mapkit的使用

    【iOS】Mapkit的使用:地图显示、定位、大头针、气泡等 标签:iOS地图mapkit 1.显示地图 (1)首...

  • MapKit框架学习

    MapKit是用来显示地图的. MapKit的使用步骤导入框架MapKit导入头文件#import 在story...

  • 地图的简单使用(一)

    显示效果图 在使用地图的时候应先导入#import MKMapView是地图视...

  • iOS基础-系统地图使用

    地图开发注意: 项目中必须添加MapKit/MapKit框架 地图导航注意: 设置起点和终点 设置导航参数 通过M...

  • iOS--地图显示与大头针

    一、地图显示 1、使用到的框架及相关类 MapKit框架中MKMapView 2、MKMapView的常用属性 1...

  • MapKit

    一、了解 MapKit框架提供地图的显示、导航、地点标注、增加图层等。利用MapKit可以集成一个全功能地图到ap...

网友评论

      本文标题:地图相关 MapKit

      本文链接:https://www.haomeiwen.com/subject/ewzerdtx.html