Marking a section of a map (a road/street seg...

(Rogério Penna) #1

Marking a section of a map (a road/street segment or an area)?

Any way to do that?

My Civil Engineering Construction Verification app is nearing completion phase of development.

I showed it to the director, but he complained that it would be easier and better for engineers to MARK the section of the map where they are checking, instead of typeing the initial and final km/stakes.

I was wondering if it would be possible to capture map location as a bitmap and then use the signature (drawing) function to draw over it?

(Adam Stone) #2

Hi @Rogerio_Penna so far there’s no method to draw or mark a region on the built-in map. If you know the LatLong coordinates of the area to be shown, or it’s the current location, and you’re not working offline, you should be able to use an Initial Value formula with the Drawing type to set the background of the drawing to a static map image from Google’s static maps API or similar service.

developers.google.com - Google Static Maps API | Google Developers

For example a url like this produces a map image of New York:

https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=600x400

To make it work within the app you’ll need to get an API key and include the key in the url. So ultimately you’d need an Initial Value expression like

=Concatenate(“https://maps.googleapis.com/maps/api/staticmap?center=”, [LatLong], “&zoom=12&size=600x400&key=your_api_key”)

where LatLong is a LatLong-type column to capture your current location or set the location based on your data (note that using HERE() directly in the concatenate instead of a separate LatLong column currently doesn’t work for this). You could also use a Number column to dynamically adjust the zoom. Google Static Maps API | Google Developers developers.google.com

(Max Moreno Jr.) #3

I also have been requesting something similar to this. I was told to use the snapshot() but I’m afraid I try this it would include combined row data onto one snapshot of the map rather than an individual row. I’m trying to use appsheet for our technicians. Each time they would make a repair a workflow would send a pdf to the client via email but instead of coordinates it would show a pinpoint on a map where the repair was done.

(Praveen Seshadri (AppSheet)) #4

@Max_Moreno_Jr, yes you can do that with the Snapshot() functionality. You need to give it an app link (a deep link) to the specific view you want (in this case, a Map view that shows a specific row)