The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/packages/rocketchat-mapview/client/mapview.coffee

26 lines
1.1 KiB

###
# MapView is a named function that will replace geolocation in messages with a Google Static Map
# @param {Object} message - The message object
###
class MapView
constructor: (message) ->
# get MapView settings
mv_googlekey = RocketChat.settings.get 'MapView_GMapsAPIKey'
if message.location
# GeoJSON is reversed - ie. [lng, lat]
longitude = message.location.coordinates[0]
latitude = message.location.coordinates[1]
# confirm we have an api key set, and generate the html required for the mapview
if mv_googlekey?.length
message.html = '<a href="https://maps.google.com/maps?daddr='+latitude+','+longitude+'" target="_blank"><img src="https://maps.googleapis.com/maps/api/staticmap?zoom=14&size=250x250&markers=color:gray%7Clabel:%7C'+latitude+','+longitude+'&key='+mv_googlekey+'" /></a>'
else
message.html = '<a href="https://maps.google.com/maps?daddr='+latitude+','+longitude+'" target="_blank">'+TAPi18n.__('Shared_Location')+'</a>'
return message
RocketChat.callbacks.add 'renderMessage', MapView, RocketChat.callbacks.priority.HIGH