public void DesenharRota(JObject rotaEscolhida) { foreach (Polyline linha in this.PolylinesCaminhoParaVaga) { try { linha.Remove(); } catch { } } RotaAtual = rotaEscolhida; string polylineString = (rotaEscolhida["overview_polyline"])["points"].ToString(); var polyline = GooglePoints.Decode(polylineString); PolylineOptions opt = new PolylineOptions(); foreach (var point in polyline) { opt = opt.Add(point); } ; opt = opt.InvokeWidth(20); opt = opt.InvokeColor(this.CorLinhaEstrada); this.PolylinesCaminhoParaVaga.Add(Mapa.AddPolyline(opt)); }
private void ColocarNovoPontoMapa(LatLng latlngOrigem, LatLng latlngDest, JObject estacionamento) { MarkerOptions options = new MarkerOptions().SetPosition(latlngOrigem).SetTitle("").SetIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.placeholder_point)); Marker ponto = Mapa.AddMarker(options); Marcador marcador = new Marcador(estacionamento, ponto); if (latlngDest != null) { var _latitude = latlngDest.Latitude; var _longitude = latlngDest.Longitude; //var _altitude = (ponto["Localizacao"])["Altitude"].Value<double>(); PolylineOptions opt = new PolylineOptions(); opt = opt.Add(latlngOrigem, new LatLng(_latitude, _longitude)); opt = opt.InvokeWidth(5); opt = opt.InvokeColor(this.CorLinhaCaminhoEstacionamento); Polyline line = Mapa.AddPolyline(opt); marcador.Linhas.Add(line); } if (UltimoPontoInteracao != null) { marcador.Conexoes.Add(long.Parse(UltimoPontoInteracao.Title)); } marcador = SalvarPontoInserido(marcador); UltimoPontoInteracao = marcador.Marker; this.MarcadoresColocados.Add(marcador); if ((Action)this.MarcadorColocadoEvent != null) { MarcadorColocadoEvent.Invoke(); } }
private void MostrarVagasNoMapa(long idEstacionamento, JObject ponto, JArray lista) { if (lista != null) { foreach (var vaga in lista) { Vaga _vaga = new Vaga(); var latitude = (vaga["Localizacao"])["Latitude"].Value <double>(); var longitude = (vaga["Localizacao"])["Longitude"].Value <double>(); var altitude = (vaga["Localizacao"])["Altitude"].Value <double>(); LatLng latlng = new LatLng(Convert.ToDouble(latitude), Convert.ToDouble(longitude)); int icone = 0; switch (vaga["Tipo"].Value <int>()) { default: icone = Resource.Drawable.parking_sign; //vaga normal; break; case 1: icone = Resource.Drawable.parking_sign_special_1; //vaga idoso; break; case 2: icone = Resource.Drawable.parking_sign_special_2; //vaga especial; break; } var ocupacao = vaga["Ocupacao"]; MarkerOptions options = new MarkerOptions().SetPosition(latlng).SetTitle(vaga["Numero"].Value <long>().ToString()).SetIcon(BitmapDescriptorFactory.FromResource(icone)); _vaga.Marker = Mapa.AddMarker(options); _vaga.Ponto = ponto; _vaga.Dados = vaga; _vaga.IdEstacionamento = idEstacionamento; VagasColocadas.Add(_vaga); ChecarVisibilidadeVaga(_vaga); var _latitude = (ponto["Localizacao"])["Latitude"].Value <double>(); var _longitude = (ponto["Localizacao"])["Longitude"].Value <double>(); var _altitude = (ponto["Localizacao"])["Altitude"].Value <double>(); PolylineOptions opt = new PolylineOptions(); opt = opt.Add(new LatLng(latitude, longitude), new LatLng(_latitude, _longitude)); opt = opt.InvokeWidth(5); opt = opt.InvokeColor(this.CorLinhaCaminhoEstacionamento); Polyline line = Mapa.AddPolyline(opt); } } }
private void MostrarPontosNoMapa(JObject estacionamento, JArray lista) { foreach (var ponto in lista) { var latitude = (ponto["Localizacao"])["Latitude"].Value <double>(); var longitude = (ponto["Localizacao"])["Longitude"].Value <double>(); var altitude = (ponto["Localizacao"])["Altitude"].Value <double>(); LatLng latlng = new LatLng(Convert.ToDouble(latitude), Convert.ToDouble(longitude)); MarkerOptions options = new MarkerOptions().SetPosition(latlng).SetTitle(ponto["Id"].Value <long>().ToString()).SetIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.placeholder_point)); Marker marker = Mapa.AddMarker(options); marker.Visible = false; var vagas = (JArray)ponto["VagasConectadas"]; Marcador marcador = new Marcador(estacionamento, marker) { Id = ponto["Id"].Value <long>() }; foreach (var conexao in ponto["Conexoes"]) { foreach (var _ponto in lista) { if (_ponto["Id"].Value <long>() == conexao.Value <long>()) { var _latitude = (_ponto["Localizacao"])["Latitude"].Value <double>(); var _longitude = (_ponto["Localizacao"])["Longitude"].Value <double>(); var _altitude = (_ponto["Localizacao"])["Altitude"].Value <double>(); PolylineOptions opt = new PolylineOptions(); opt = opt.Add(latlng, new LatLng(_latitude, _longitude)); opt = opt.InvokeWidth(5); opt = opt.InvokeColor(this.CorLinhaCaminhoEstacionamento); Polyline line = Mapa.AddPolyline(opt); marcador.Linhas.Add(line); } } } MarcadoresColocados.Add(marcador); MostrarVagasNoMapa(estacionamento.Value <long>("Id"), (JObject)ponto, vagas); } }