Полилинии не отображаются в GoogleMap Xamarin.Android - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь создать приложение ActivityTracker для Android, используя Xamarin. Я уже получил доступ к Google Maps Api и могу узнать текущее местоположение устройства. Следующий шаг - соединить местоположения, которые я получил в полилинию, но Полилинии не видно на карте

Вот код, который я пробовал

private Polyline polyline;
public void OnMapReady(GoogleMap map)
    {
        _map = map;
        _map.MyLocationEnabled = true;
        _map.TrafficEnabled = true;
        _map.SetIndoorEnabled(true);
        PolylineOptions poly = new PolylineOptions()
            .InvokeColor(Color.Red)
            .InvokeWidth(5)
            .Visible(true)
            .InvokeZIndex(30);
        poly.Add(new LatLng(95, 50));
        poly.Add(new LatLng(90, 55));
        poly.Add(new LatLng(100, 50));

        polyline = _map.AddPolyline(poly);
        _map.MyLocationChange += MyLocationChanged; 
    }

1 Ответ

0 голосов
/ 08 мая 2018

Ваш код хороший, но координаты точек ломаной линии плохие: Карты Google используют WGS 84 Web Проекция Меркатора с усеченными широтами Latmax = ±85.05113°, поэтому точки с координатами LatLng(95, 50) просто нет 95 - слишком большой для широты) и LatLng(90, 55) и LatLng(100, 50). Ваши координаты должны быть от (-89.99,-179.99) до (89.99,179.99). Попробуйте, например, использовать 55, 60 и 70 вместо 95, 90 и 100:

private Polyline polyline;
public void OnMapReady(GoogleMap map)
    {
        _map = map;
        _map.MyLocationEnabled = true;
        _map.TrafficEnabled = true;
        _map.SetIndoorEnabled(true);
        PolylineOptions poly = new PolylineOptions()
            .InvokeColor(Color.Red)
            .InvokeWidth(5)
            .Visible(true)
            .InvokeZIndex(30);
        poly.Add(new LatLng(55, 50));
        poly.Add(new LatLng(60, 55));
        poly.Add(new LatLng(70, 50));

        polyline = _map.AddPolyline(poly);
        _map.MyLocationChange += MyLocationChanged; 
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...