【发布时间】:2019-07-13 18:19:51
【问题描述】:
我正在使用 Xamarin.Forms 构建 Android 和 IOS 应用程序。
我也在使用基于 xamarin.maps 构建的 Xamarin.maps.googlemaps 库 - github
这个库(以及xamarin.maps)只有一个OnMapClicked 事件处理程序。这个库恰好只返回点击位置的纬度和经度(见下文)
然后我只取那个纬度和经度并查询最近的 POI。
我记得当我从 Android Studio 专门为 Android 构建 google-maps 时,当我点击 google-map 并点击其中一个与地图一起显示的 POI 时,我得到了一些关于所点击 POI 的信息。
xamarin.maps.googlemaps 或 xamarin.maps 有类似的东西吗? 我只是希望能够点击地图附带的 POI 图标。
另一种实现是用丑陋的标记加载地图的整个视口......我有点想避免它。
(init)
googlemap.MapClicked += Googlemap_MapClicked;
async void Googlemap_MapClicked(object sender, MapClickedEventArgs e){
/* HERE I WANT TO ACTUALLY GET SOME SORT OF POI INFORMATION THAT WAS CLICKED*/
/* ORIGINAL CODE */
google_results_layout.IsVisible = false;
GooglePlace place = await vm.GetMostLikelyPlace(e.Point.Latitude, e.Point.Longitude);
if (place == null)
await DisplayAlert("Place Not Found!", "Place was not found via Google.", "OK");
else
vm.SetSelectedLocation(place);
}
【问题讨论】:
-
您可以随时修改源代码并公开 POI 功能,即 Android Google Maps API (developers.google.com/maps/documentation/android-sdk/poi) 上的
OnPoiClickListener并为 iOS 做同样的事情... -
我猜你是对的......我只是想偷懒。
标签: google-maps xamarin xamarin.forms xamarin.android xamarin.ios