如何在 xamarin android 的 google 地图中显示一些商店

How to show some store in google maps for xamarin android

我想在我的地图中添加我搜索过的商店的标记。例如,我希望我的地图只显示英国的所有七点十一分店,然后我想找到离我当前位置最近的七点十一分。有没有什么方法可以做到这一点或我正在寻找的参考资料。这是我当前的代码

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);
        }
    }

}

如您所见,我必须手动为每家商店添加标记,我应该在地图中添加大约一百家商店。有什么简单的方法可以做到这一点吗?

I want to my maps add markers from store that i searched. example i want my maps only shows all seven eleven store in England and then i want to find the nearest seven eleven in my current location. Is there any method to do that or reference that i was looking for.

您可以使用Place Search API. By filtering place types的附近搜索,您可以限制您的搜索结果存储。并且在得到搜索结果后,您可以选择距离您所在位置最近的七家或十一家商店,并为这七家商店添加标记。