LocusMaps Mobile SDK简介
上面的应用程序屏幕截图是使用LocusLabs iOS SDK渲染的洛杉矶国际机场的鸟瞰图。 使用我们先进的制图技术和场馆管理系统进行编译,它不仅可以捕获详细的空间几何图形,还可以捕获场馆元数据,例如兴趣点和路线选项。 在本文的结尾,我们提供了一些代码片段,以说明使用我们的SDK执行操作(例如显示兴趣点,查找方向或执行搜索)有多么容易。
影片示范
以下视频简要演示了我们的SDK的功能,您将看到:
- LAX地图的细节和丰富性
- 停车后识别用户的位置,并通过地图上熟悉的蓝点显示该位置(iBeacon,Apple或Google映射)
- 提供给登机台的方向以及用户使用它们导航到办公桌的方向
- 在地图上签到后向用户显示的登机口
- 用户搜索靠近其门口的餐厅
- 地图提供了有关景点等景点的详细信息,例如餐厅,包括位置,照片,描述,电话号码,元数据(如菜单)等等
还有几件事
上面视频中未显示的我们SDK的其他一些重要功能包括:
- 固定地图标记,可让您永久性地突出兴趣点,例如地图上的休息室或登机柜台
- 推荐的地点和搜索,使用户仅需点击1或2次即可找到预设的兴趣点
- 强大的搜索功能使用户不仅可以在地图的任何级别上,还可以在其附近区域中按名称,类别或标签找到任何兴趣点
- UI和地图自定义,可让您将公司品牌应用于地图本身以及用户界面
- 开箱即用的几种语言本地化版本
代码样例
我们的本机iOS和Android SDK非常易于使用,仅需几行代码,我们强大而功能丰富的地图可供您使用。 以下各节说明如何使用我们的SDK执行一些最常见的任务。
设定
在使用SDK之前,需要进行一些设置,之后所有任务仅需要几行代码,在某些情况下甚至只需1行!
//使用LocusLabs提供的accountId初始化LocusLabs SDK
LLLocusLabs.setup()。accountId =“ A11F4Y6SZRXH4X”
//创建一个新的LLMapView,注册为其委托并将其添加为子视图
mapView = LLMapView(框架:view.bounds)
mapView?.autoresizingMask = [.flexibleWidth,.flexibleHeight]
mapView?.delegate =自我
view.addSubview(mapView!)
//获取LLVenueDatabase的实例,注册为其委托并加载场所LAX
ConventionalDatabase = LLVenueDatabase(mapView:mapView)
destinationDatabase.delegate =自我
显示地图
仅需要一个调用“ loadVenueAndMap”即可异步加载地图。 我们的SDK不会自动使地图保持最新状态,还会缓存它们以供离线使用:
//加载会场LAX异步
destinationDatabase.loadVenueAndMap(“ lax”){(_venue:LLVenue ?, _map:LLMap ?, _floor:LLFloor ?, _marker:LLMarker?)
self.mapView?.map = _map
self.venue = _venue
}
显示兴趣点
显示兴趣点(POI)的详细信息(如照片,位置等)仅需要一种方法。 地图甚至会自动平移并放大POI。 一旦显示了POI,用户也可以轻松获取从该POI到任何其他POI的路线。 在这种情况下,我们将向60号登机口附近的星巴克展示:
func mapViewReady(_ mapView:LLMapView!){
mapView?.showPoi(byPoiId:“ 870”)
}
显示方向
显示任何两个兴趣点之间的方向也只需一种方法! 下面的代码显示了如何显示从6号航站楼的Blue20条到7号航站楼的75A门的方向。显示的导航界面为用户提供了简单的逐步说明,说明如何到达目的地。
让point1LatLon = LLLatLng(lat:33.940627,lng:-118.401892)
让point2LatLon = LLLatLng(lat:33.9410700,lng:-118.399598)
让point1 = LLPosition(floorId:mapView?.map.floorId,latLng:point1LatLon)
让point2 = LLPosition(floorId:mapView?.map.floorId,latLng:point2LatLon)
mapView?.navigate(fromStart:point1,end:point2)
执行搜索
每个场馆都有一个庞大的数据库,不仅包含地图本身的信息,而且还包含其中的每个景点的信息。 搜索该数据库非常容易,只需几行代码:
//获取搜索实例并注册为其委托
self.search = self.venue!.search()
self.search?.delegate =自我;
func search(_ search:LLSearch !, results searchResults:LLSearchResults!){
在searchResults.results中将searchResult作为! [LLSearchResult] {
让位置= searchResult.position
createCircle(位置:位置!,半径:10,颜色:UIColor.yellow)
}
结论
我们希望以上信息能使您深入了解我们SDK的丰富,强大和易于集成。 如果您想自己尝试这些方法,请使用下面的链接。
除了我们的iOS SDK外,我们还提供了Android SDK和Javascript SDK,它们可以集成到任何网页中,从而为您的客户提供高度定制且功能丰富的映射体验。
保持联系
喜欢您看到的内容吗? 有问题吗? 想知道更多?
我们很乐意听取您的意见。