Я хочу показать в своем приложении маршрут между двумя позициями. У меня есть API Карт Google, но я не знаю, как получить информацию от Google. Я прочитал, что мне нужно вызвать ссылку из Google, и тогда я становлюсь кодом в json. Но как я могу это закодировать? Не могли бы вы помочь мне с любыми кодами ...





Предполагая, что вы используете Xamarin.Forms.Maps и у вас все настроено, вот пример для перемещения карты или установки булавки:
Maps.MoveToRegion(MapSpan.FromCenterAndRadius(
new Position(-23.4859591, -47.4420192),
Distance.FromMiles(0.5)));
var pin = new Pin
{
Type = PinType.Place,
Position = new Position(-23.4859591, -47.4420192),
Label = "Maps",
Address = "www.abc.com",
};
Maps.Pins.Add(pin);
1. вам необходимо реализовать ПОЛИЛИНИЮ, которая соединяет последовательность сегментов линии, созданных как единый объект. Вы можете создавать сегменты прямых линий, сегменты дуги или их комбинацию.
2. когда вы вызываете google api, вы получаете точки, с помощью которых вам нужно нарисовать ломаную линию (путь) на вашей карте
3. вам нужно настроить визуализацию вашей карты примерно так же, как в приведенном ниже коде
[assembly: ExportRenderer(typeof(CustomMap), typeof(CustomMapRenderer))]
namespace MyAndroid.Droid
{
public class CustomMapRenderer : MapRenderer
{
List<Position> routeCoordinates;
public CustomMapRenderer(Context context) : base(context)
{
}
protected override void OnElementChanged(Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Map> e)
{
base.OnElementChanged(e);
if (e.OldElement != null)
{
// Unsubscribe
}
if (e.NewElement != null)
{
var formsMap = (CustomMap)e.NewElement;
routeCoordinates = formsMap.RouteCoordinates;
Control.GetMapAsync(this);
}
}
protected override void OnMapReady(Android.Gms.Maps.GoogleMap map)
{
base.OnMapReady(map);
var polylineOptions = new PolylineOptions();
polylineOptions.InvokeColor(0x66FF0000);
foreach (var position in routeCoordinates)
{
polylineOptions.Add(new LatLng(position.Latitude, position.Longitude));
}
NativeMap.AddPolyline(polylineOptions);
}
}
}
следуйте образцу это для справки
спасибо за ответ, но у меня нет такого опыта, чтобы делать это в одиночку :(
тогда есть люди, которые звонят разработчикам, вам нужно их нанять, и тогда они могут вам помочь ..
спасибо за ответ, но это был не мой вопрос.