Spanish GoogleMapsExtras, polyline y edificios

Cebuvi

Active Member
Licensed User
Longtime User
Buenos días,

en una app dibujo una polyline en un mapa y se veía completamente pero después de las últimas actualizaciones, la linea se interrumpe al pasar por los edificios como si se trazase por debajo.

Si desactivo "Building Enabled" la linea se dibuja entera, pero no se ven los edificios.

¿existe alguna manera de que las lineas se vean por encima de los edificios?



Gracias.
 

Attachments

  • Screenshot_20241217_121744.jpg
    Screenshot_20241217_121744.jpg
    388.5 KB · Views: 166

josejad

Expert
Licensed User
Longtime User
Hola:

No he usado nunca estas librerías ni trabajado con Google Maps, pero viendo la documentación de Polyline veo que tiene una propiedad z-index. No sé si podría estar relacionada y podrías usar un z-index mayor que la la capa de edificios.

Probablemente @TILogistic te pueda echar una mano.

saludos,
 

Cebuvi

Active Member
Licensed User
Longtime User
Ya he cambiado ese parámetro y no veo ningún cambio.

Gracias
 

Cebuvi

Active Member
Licensed User
Longtime User
Esa es la última versión que hay y la que utilizo.

Si ahí está el problema, no hay solución.
 

TILogistic

Expert
Licensed User
Longtime User
Un regalo, sin GoogleMapextras

prueba esto
GoogleMaps1 que usas
PointList lista de puntos

B4X:
Public Sub AddPolyline(PointList As List) As Object
    Dim polylineOptions As JavaObject
    polylineOptions.InitializeNewInstance("com.google.android.gms.maps.model.PolylineOptions", Null)
 
    ' Set polyline options
    polylineOptions.SetField("add", PointList)
    polylineOptions.SetField("color", 0xFF0000FF) ' Blue color
    polylineOptions.SetField("width", 6)
    polylineOptions.SetField("visible", True)
    polylineOptions.SetField("zIndex", 3)
 
 
    ' Add polyline to map
    Return GoogleMaps1.As(JavaObject).RunMethod("addPolyline", Array(polylineOptions))
End Sub

NOTA:
 
Last edited:

Cebuvi

Active Member
Licensed User
Longtime User
Me da este error:



Llamo a polilinea
Dibuja polilinea
act_mapa_addpolyline (java line: 932)
java.lang.RuntimeException: Field: add not found in: com.google.android.gms.maps.model.PolylineOptions
at anywheresoftware.b4j.object.JavaObject$FieldCache.getField(JavaObject.java:307)
at anywheresoftware.b4j.object.JavaObject.SetField(JavaObject.java:174)
at com.tempusumbra.declgnom.act_mapa._addpolyline(act_mapa.java:932)
at com.tempusumbra.declgnom.act_mapa._btncalcular2_click(act_mapa.java:1145)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:205)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:201)
at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80)
at android.view.View.performClick(View.java:8047)
at android.widget.TextView.performClick(TextView.java:17792)
at android.view.View.performClickInternal(View.java:8024)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View.java:31890)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8919)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
*** Service (starter) Create ***
 

Cebuvi

Active Member
Licensed User
Longtime User
Muchas gracias por el interés que te estas tomando. Te envio un pequeño ejemplo de como lo hacia y como puedes comprobar la polilinea pasa por debajo de los edificios.

Un saludo.

César
 

Attachments

  • Mapa_poli.zip
    12.5 KB · Views: 138

Cebuvi

Active Member
Licensed User
Longtime User
Este es el mismo ejemplo pero utilizando tu rutina. Me da el mismo error
 

Attachments

  • Mapa_poli_2.zip
    12.7 KB · Views: 125

Cebuvi

Active Member
Licensed User
Longtime User
He estado investigando un poco y he encontrado una app, Measure Map, que hace algo parecido. Como se ve en la captura de pantalla, parece que son los edificios los que tienen transparencia.


Screenshot_20241219_130740_Measure map.jpg


Gracias
 

Cebuvi

Active Member
Licensed User
Longtime User
Desmarcando la casilla de Building Enabled los edificios no se dibujan. Pero yo necesito ver los edificios para que la polilinea se alinee con ellos.

Es como se ve en la última captura de pantalla que he enviado.
 
Top