Locate Me not working on Chrome browsers
tchristo opened this issue · comments
I recently tested the "Locate Me" option on a new form I was creating and got a "location not found" message. This has worked fine before on a Chrome browser (Android OS) and changing various privacy settings in the browser and on phone did not help. After some research by my colleague, it was determined that this feature has been recently and purposely removed by the Chrome team for security/privacy reasons. ...and for any pages that are delivered through HTTP rather than HTTPS while attempting to access location. Our GeoForms are hosted via ArcGIS Online for Orgs and so the geoforms always show as an http page by default.
The solution offered by Chrome (https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only) is to simply add an "S" to the HTTP address and refresh and this seems to actually work. However, I don't want to explain this in a "how to use our GeoForm" help doc for potentially thousands of public users.
I'm wondering if it would be possible for you folks to code this into the next GeoForm update, so that if the form sees that is being used in chrome it automatically switches to https address?
Hi @tchristo
We are going to turn the button off if the feature won't work. We'll also update the help docs to talk about how users can enable and use HTTPS instead of HTTP.
The next update will have this.
Thanks Matt, that will help.
Is there any implications if we just point our webpages and users to the https version in the first place?
For example:
-slower load and submit times when cell connectivity is already pretty weak (e.g. collecting wildlife obs in rural Washington)?
-warning message about mixed content (depending on the browser, I sometimes see a warning message when I open a webmap with layers from both http and https)?
Here's a blog post we put out about the changes: https://blogs.esri.com/esri/arcgis/2016/04/14/increased-web-api-security-in-google-chrome/
Slower load times shouldn't be an issue.
Mixed content messages are something that can be an issue. If you use HTTPS, all layers in the webmap should also be using https or mixed content errors will occur.
HTTPS is also required when accessing the page on iOS in Safari (I would imagine Chrome as well) now. We just bumped into the same problem with a WAB app and the solution was to have the URL Rewrite function of IIS auto change anyone coming into the app to HTTPS. You might be able to do the same with your web server to enforce HTTPS on the form.