了解 mapkit 和 mapkit js 的最新更新。我们将介绍一种新的路线类型——骑行路线,并向你展示如何在网页上启用 3d 环视图像。了解新的 geocoding api 如何支持坐标与地址之间的转换,以及如何使用 address representations api 来获取某一区域最恰当的地址。最后,我们将介绍一种新的地点引用方式,确保你的 app 能与 app intents 无缝协作。
此文章由AI生成,可能存在错误,如有问题,请联系djs66256@163.com
MapKit 与 MapKit JS 最新功能解析
在 WWDC 2024 上,Apple 为开发者带来了 MapKit 和 MapKit JS 的一系列重要更新。本文将详细介绍这些新功能,包括新的骑行路线、3D 环视图像支持、改进的地理编码 API 以及全新的地点引用方式。
新功能概览
本次更新主要包含以下内容:
- PlaceDescriptor:一种新型的地点查找和引用方式
- 地理编码改进:将 CLGeocoder 功能迁移至 MapKit 框架
- 地址表示优化:通过 Address Representations API 获取最适合显示的地址格式
- 骑行路线支持:为地图应用新增骑行路线规划功能
- 环视 API 增强:在网页中支持 3D 环视图像展示
PlaceDescriptor:灵活的地点引用方式
PlaceDescriptor 是一种结构化地点描述方式,它包含三个核心组成部分:
- commonName:地点的通用名称(如”埃菲尔铁塔”)
- representations:通用地理信息表示(地址、坐标或设备位置)
- supportingRepresentations:可选的非通用信息(如服务标识符)
1 | // 创建带有坐标和名称的 PlaceDescriptor |
PlaceDescriptor 的优势在于:
- 无需依赖 MapKit 特定标识符
- 可与 App Intents 无缝配合
- 支持多种地理信息表示方式
- 适用于跨框架交互场景
地理编码与地址表示
地理编码功能已从 CoreLocation 迁移至 MapKit,提供更一致的 API 体验:
1 | // 逆向地理编码示例 |
MapItem 提供两种地址访问方式:
- MKAddress:包含完整地址(fullAddress)和精简地址(shortAddress)
- MKAddressRepresentations:提供多种显示优化方案
正向地理编码同样简单:
1 | // 正向地理编码示例 |
路线与环视功能
骑行路线支持
MapKit 现在支持骑行路线规划:
1 | // 获取骑行路线 |
环视功能扩展
MapKit JS 现在支持两种环视视图:
1 | // 创建交互式环视视图 |
开发者可以通过事件监听器管理视图生命周期:
1 | lookAround.addEventListener("close", event => { |
总结与展望
本次 MapKit 更新带来了诸多实用功能:
- PlaceDescriptor 提供了更灵活的地点引用方式
- 地理编码功能迁移至 MapKit 框架
- 地址表示优化提升了用户体验
- 新增的骑行路线丰富了导航选择
- MapKit JS 的环视功能扩展了网页地图能力
这些改进将使开发者能够创建更丰富、更灵活的地图应用。
相关视频
使用 MapKit 充分优化位置相关功能
认识 SwiftUI 版 MapKit
MapKit 的新功能