有一个教程:https://docs.mapbox.com/help/tutorials/android-store-locator/ 这显示了如何手动添加商店,创建数据集并将其显示在我们的应用程序中。我想让所有医院,银行靠近特定用户位置。我该如何实现?请帮忙!
答案 0 :(得分:0)
您将要使用Mapbox Tilequery API查询Mapbox Streets的building
层或查询具有银行/医院数据的自定义样式。
https://docs.mapbox.com/android/java/overview/tilequery/
https://docs.mapbox.com/android/java/examples/tilequery/
使用https://docs.mapbox.com/playground/tilequery/来使用Mapbox Tilequery API。例如,https://api.mapbox.com/v4/mapbox.mapbox-streets-v8/tilequery/-122.4052,37.7564.json?limit=19&radius=536&layers=building&dedupe=true&access_token=PASTE_YOUR_MAPBOX_TOKEN_HERE为您提供FeatureCollection
个对象中的Feature
个。遍历每个Feature
,以查看其type
属性是否为hospital
,bank
等。
关于使用设备的位置用于Tilequery请求:
如https://docs.mapbox.com/android/maps/examples/show-a-users-location所示设置LocationComponent
。然后,您可以执行以下操作来获取设备位置:
locationComponent.getLastKnownLocation().getLatitude();
locationComponent.getLastKnownLocation().getLongitude();
或者如果您需要跟踪设备位置:
https://docs.mapbox.com/help/tutorials/android-location-listening
https://docs.mapbox.com/android/maps/examples/location-change-listening