Add a polyline to a map

Select platform: Android iOS JavaScript
A polyline on a 3D map

The following code sample demonstrates how to add a polyline and position it in 3D space by calling the addPolyline method. To use this code sample, follow the instructions in Setup and Add a 3D map to your app to set up your Android Studio project with a basic 3D map. Then, add the following code to the MainActivity.kt file:

 // Add imports 
 import 
  
 com.google.android.gms.maps3d.model.latLngAltitude 
 ... 
 // Add to the onMap3DViewReady method, after the googleMap3D object has been initialized 
 googleMap3D 
 . 
 setCamera 
 ( 
  
 camera 
  
 { 
  
 center 
  
 = 
  
 latLngAltitude 
  
 { 
  
 latitude 
  
 = 
  
 40.029349 
  
 longitude 
  
 = 
  
 - 
 105.300354 
  
 altitude 
  
 = 
  
 1833.9 
  
 } 
  
 heading 
  
 = 
  
 326.0 
  
 tilt 
  
 = 
  
 75.0 
  
 range 
  
 = 
  
 3757.0 
  
 } 
 ) 
 internal 
  
 val 
  
 trailLocations 
  
 = 
  
 """ 
 40.0201040, -105.2976640 
 40.0201080, -105.2976450 
 40.0201640, -105.2975120 
 40.0202200, -105.2973740 
 40.0202500, -105.2972760 
 40.0202960, -105.2971410 
 40.0203080, -105.2970990 
 40.0203320, -105.2970070 
 40.0203640, -105.2969400 
 40.0203710, -105.2969250 
 40.0203770, -105.2969220 
 40.0203910, -105.2969130 
 40.0203940, -105.2969120 
 40.0204200, -105.2969130 
 40.0204630, -105.2968910 
 40.0205270, -105.2968280 
 40.0206030, -105.2967570 
 40.0206590, -105.2966100 
 40.0206990, -105.2964870 
 """ 
 . 
 trimIndent 
 (). 
 split 
 ( 
 "\n" 
 ). 
 map 
  
 { 
  
 val 
  
 ( 
 lat 
 , 
  
 lng 
 ) 
  
 = 
  
 it 
 . 
 split 
 ( 
 "," 
 ) 
  
 latLngAltitude 
  
 { 
  
 latitude 
  
 = 
  
 lat 
 . 
 toDouble 
 () 
  
 longitude 
  
 = 
  
 lng 
 . 
 toDouble 
 () 
  
 altitude 
  
 = 
  
 0.0 
  
 // The trail will be clamped to the ground 
  
 } 
 } 
 val 
  
 trailPolylineOptions 
  
 = 
  
 polylineOptions 
  
 { 
  
 coordinates 
  
 = 
  
 trailLocations 
  
 strokeColor 
  
 = 
  
 Color 
 . 
 RED 
  
 strokeWidth 
  
 = 
  
 7.0 
  
 altitudeMode 
  
 = 
  
 AltitudeMode 
 . 
 CLAMP_TO_GROUND 
  
 zIndex 
  
 = 
  
 5 
  
 drawsOccludedSegments 
  
 = 
  
 true 
 } 
 googleMap3D 
 . 
 addPolyline 
 ( 
 trailPolylineOptions 
 ) 

Listen for polyline click events

To listen for click events on a polyline, call setClickListener on the polyline object. The following example shows how to set a click listener on a polyline:

 polyline 
 . 
 setClickListener 
  
 { 
  
 lifecycleScope 
 . 
 launch 
 ( 
 Dispatchers 
 . 
 Main 
 ) 
  
 { 
  
 Toast 
 . 
 makeText 
 ( 
 this 
 @PolylinesActivity 
 , 
  
 "Hiking time!" 
 , 
  
 Toast 
 . 
 LENGTH_SHORT 
 ). 
 show 
 () 
  
 } 
 } 

Note that the click handler does not run on the Main (or UI) thread. If you want to make changes to the UI (such as showing a Toast message), you must switch to the Main thread. For Kotlin, you can do this using lifecycleScope.launch(Dispatchers.Main) .

Design a Mobile Site
View Site in Mobile | Classic
Share by: