Hello
I am trying to create url link using arcade for hosted layer I have.
my table just have X coordinate and Y coordinate?
I looking for url like for each point to click and take them to Google street view.
Hi @anonymous55
I cannot remember where I got the full code from below but I will source and credit it once I do.
var PointGeometry = Centroid(Geometry($feature));
var ArcadeX = PointGeometry.x;
var ArcadeY = PointGeometry.y;
var ArcadeSr = PointGeometry.spatialReference.wkid;
var Latitude, Longitude;
function AuxSphereToLatLon(x, y) {
Console("Converting...");
// Conversion based on http://dotnetfollower.com/wordpress/2011/07/javascript-how-to-convert-mercator-sphere-coordinates-to-latitude-and-longitude/
var rMajor = 6378137;
var shift = PI * rMajor;
Longitude = x / shift * 180.0;
Latitude = y / shift * 180.0;
Latitude = 180 / PI * (2 * Atan(Exp(Latitude * PI / 180.0)) - PI / 2.0);
}
if (ArcadeSr == 4326) {
Console("4326 Spatial Reference - No Conversion Necessary");
Latitude = ArcadeY;
Longitude = ArcadeX;
} else if (ArcadeSr == 102100) {
Console("102100 Spatial Reference - Conversion Necessary");
AuxSphereToLatLon(ArcadeX, ArcadeY);
} else {
Console(ArcadeSr + " Spatial Reference is not supported - currently works with Web Maps where the basemap is in WGS84 (4326) or Web Mercator Auxiliary Sphere 102100");
}
var url = "http://maps.google.com/maps?q=&layer=c&cbll=" + text(Latitude) + "," + text(Longitude);
return url;
Thanks for respond I am getting this result
What do the console messages say?
R_
Use Console Function to output messages. 102718 Spatial Reference is not supported - currently works with Web Maps where the basemap is in WGS84 (4326) or Web Mercator Auxiliary Sphere 102100
It appears as if your map is in a state plane coordinate system.
Don’t believe there is an arcade option for this unless your map is in web Mercator or WGS84.
R_
Not sure how “dynamic” your layer is, but if possible, one option would be to add a couple columns to the feature layer with X,Y coordinates in 4326, then you could use parts of the script provided by @Clubdebambos , but just extract the xy from the WGS84 columns instead of the state plane columns. Would also need to skip the spatial reference checks as that checks the SR of the dataset, not the values in these new columns.
Not currently able to test this, but thought it may be an option worth looking into.
Of course, this requires calculating values for two more fields and might be easier to just calculate the url to a new column instead.
R_
Just noticed that the StreetView links that I was able to use and worked before on pop-ups does not work anymore and just produce a black screen nowadays.... Google probably changed the correct format for StreetView links? This seems to ne an issue on desktop browsers and not on iOS devices at least when I tested it.
Hey
mine is working. with this arcade code:
var url_google = "https://www.google.com/maps/@?api=1&map_action=pano&viewpoint="
var lat = $feature.Latitude
var long = $feature.Longitude
var parm = "&heading=-45&pitch=0&fov=80"
return Concatenate(url_google + lat +","+ long + parm)
##text: "https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=40.708136,-73.872588&heading=-45&pitch=0&fov=80"
Thank you @anonymous55 the StreetView format link seems to work, will update my Arcade expressions, was using a different one: