我想让我的地图从我搜索的商店中添加标记。 示例 我希望我的地图只显示英格兰的所有 7 Eleven 商店,然后我想在我的当前位置找到最近的 7 Eleven。有没有我正在寻找的方法或参考。这是我当前的代码
using Android.App;
using Android.Widget;
using Android.OS;
using Android.Gms.Maps;
using Android.Gms.Maps.Model;
using System;
namespace _Map
{
[Activity(Label = "_Map", Icon = "@drawable/icon", MainLauncher =true)]
public class MainActivity : Activity, IOnMapReadyCallback
{
private GoogleMap GMap;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
SetUpMap();
}
private void SetUpMap()
{
if (GMap == null)
{
FragmentManager.FindFragmentById<MapFragment>(Resource.Id.googlemap).GetMapAsync(this);
}
}
public void OnMapReady(GoogleMap googleMap)
{
this.GMap = googleMap;
GMap.UiSettings.ZoomControlsEnabled = true;
BitmapDescriptor image = BitmapDescriptorFactory.FromResource(Resource.Drawable.gramed);
LatLng latlng = new LatLng(Convert.ToDouble(-6.196279), Convert.ToDouble(106.822369));
LatLng latlng2 = new LatLng(Convert.ToDouble(-6.220489), Convert.ToDouble(106.814349));
LatLng latlng3 = new LatLng(Convert.ToDouble(-6.163067), Convert.ToDouble(106.832605));
CameraUpdate camera = CameraUpdateFactory.NewLatLngZoom(latlng, 15);
GMap.MoveCamera(camera);
MarkerOptions options = new MarkerOptions()
.SetPosition(latlng)
.SetIcon(image)
.SetSnippet("Open 9AM-11PM")
.SetTitle("Gramedia");
GMap.AddMarker(options);
MarkerOptions options1 = new MarkerOptions()
.SetPosition(latlng2)
.SetIcon(image)
.SetTitle("Gramedia 2")
.SetSnippet("Open 8AM - 10PM");
GMap.AddMarker(options1);
MarkerOptions options2 = new MarkerOptions()
.SetPosition(latlng3)
.SetIcon(image)
.SetSnippet("Open 8AM-9PM")
.SetTitle("Gramedia 3");
GMap.AddMarker(options2);
}
}
}
如您所见,我必须为每个商店手动添加标记,我应该在地图上添加一百家商店。 有什么简单的方法可以做到这一点吗?
我想从我搜索的商店中添加我的地图标记。 示例 我希望我的地图只显示英格兰的所有 7 Eleven 商店,然后我想在当前位置找到最近的 7 Eleven。有没有我正在寻找的方法或参考。
您可以使用地点搜索 API 的附近搜索。通过过滤地点类型,您可以将搜索结果限制为存储。获得搜索结果后,您可以选择离您所在位置最近的七家或十一家商店,并为这七家商店添加标记。