如何解决如何相对于西方旋转销?
我在地图上有图钉。如何相对于西方旋转这些销? 我尝试使用SetRotation()命令旋转销钉,但是销钉相对于父元素旋转。并且当您旋转卡时,插针不会旋转。所以我需要相对于西方转动针脚
protected override MarkerOptions CreateMarker(Pin pin)
{
string[] words = pin.Address.Split(new char[] { ' ' });
var marker = new MarkerOptions();
marker.SetPosition(new LatLng(pin.Position.Latitude,pin.Position.Longitude));
marker.SetTitle(pin.Label);
marker.SetSnippet(pin.Type.ToString());
if (words[0] != "my")
{
if (words[0] == "Red")
marker.SetIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.red));
else marker.SetIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.white));
}
RotatePinWithAngle(marker,words[1]);
return marker;
}
void RotatePinWithAngle(MarkerOptions marker,string angle)
{
switch (angle)
{
case "left":
{
marker.SetRotation(0);
break;
}
case "up":
{
marker.SetRotation(90);
break;
}
case "right":
{
marker.SetRotation(180);
break;
}
case "down":
{
marker.SetRotation(270);
break;
}
default:
break;
}
}
我使用CustomMap,这段代码显示了我尝试旋转汽车的图标。 它可以正常工作,但是图标相对于父容器旋转,而当我旋转地图时,图标不旋转
解决方法
您可以旋转地图,并保持图标不动。 用于旋转地图。您可以使用此Google Maps API。它是轴承的支持
private async void Button_Clicked(object sender,EventArgs e)
{
await map.AnimateCamera(CameraUpdateFactory.NewCameraPosition(
new CameraPosition(
new Position(35.71d,139.81d),// center
17d,// zoom
45d,// bearing(rotation)
60d)),// tilt
TimeSpan.FromSeconds(1));
}
此处正在运行GIF。
Here is my demo。如果要测试,请替换com.google.android.geo.API_KEY
中的AndroidManifest.xml
<meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyA2xxxxxxxxxxxxxxxByV1jK5Lzdo" />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。