Android Xamarin谷歌地图中心
我用谷歌地图制作了一个Xamarin应用程序。我在地图上添加了多个标记,显示设备所在位置附近的商店。当我打开应用程序时,我把它放在最近的商店的中心 问题是,当我试图滑动地图以查看周围的情况时,它会返回到最近的标记的中心。我想禁用它,可能吗 添加标记的代码位于OnLocationChanged方法中 多谢各位Android Xamarin谷歌地图中心,android,google-maps,xamarin.android,Android,Google Maps,Xamarin.android,我用谷歌地图制作了一个Xamarin应用程序。我在地图上添加了多个标记,显示设备所在位置附近的商店。当我打开应用程序时,我把它放在最近的商店的中心 问题是,当我试图滑动地图以查看周围的情况时,它会返回到最近的标记的中心。我想禁用它,可能吗 添加标记的代码位于OnLocationChanged方法中 多谢各位 private void GetCompaniesByLocation(double latitude,double longitude) { string url
private void GetCompaniesByLocation(double latitude,double longitude)
{
string url = "http://127.0.0.1/testapi/handler.php/latlong/" + latitude + "/" + longitude;
BitmapDescriptor icon = BitmapDescriptorFactory.FromResource(Resource.Drawable.here_icon);
Companies[] onlines = CallRestServiceCompanies(url);
int i = 0;
foreach (Companies online in onlines)
{
if (i == 0) {
locationPoint = new LatLng(online.address_lat, online.address_long);
CameraUpdate camera = CameraUpdateFactory.NewLatLngZoom(locationPoint, 16);
mMap.AnimateCamera(camera);
i++;
}
LatLng latlng = new LatLng(online.address_lat, online.address_long);
MarkerOptions options = new MarkerOptions();
options.SetPosition(latlng);
options.SetTitle(online.company_name);
options.SetSnippet(online.company_website);
options.SetIcon(icon);
mMap.AddMarker(options);
}
}
和OnLocationChanged方法:
public void OnLocationChanged(Location location)
{
currentLocation = location;
if(currentLocation != null)
{
GetCompaniesByLocation(currentLocation.Latitude, currentLocation.Longitude);
}
}
当然,这是持续运行的。我只想在位置实际发生变化时被触发 这不是默认行为,您必须这样做,请发布您的代码。为了能够将相机设置到最近的商店,我使用了AnimateCamera。否则,它将显示整个世界,而不仅仅是附近。当调用onLocationChanged时,您正在移动相机。你无法控制何时调用它。@Nanoc你能告诉我怎么做吗?只需第一次移动它,只需单击按钮。。。除了在线,任何东西都改变了。