"name": "OpenStreetMap",
"short_name": "OSM",
"icons": <%= [36, 48, 72, 96, 144, 192].map { |res| {
- src: image_path("android-chrome-#{res}x#{res}.png").gsub("/", "\\/"),
+ src: image_path("android-chrome-#{res}x#{res}.png"),
sizes: "#{res}x#{res}",
type: "image/png",
density: res.to_f / 48
- } }.to_json %>,
+ } }.push({
+ src: image_path("../images/osm_logo.svg"),
+ sizes: "any",
+ type: "image/svg+xml"
+ }).to_json %>,
"start_url": "/",
"theme_color": "#7ebc6f",
"background_color": "#fff",
map.fire("startinglocation", { latlng: [lat, lng] });
}
+ function startingLocationListener({ latlng }) {
+ if (endpoints[0].value) return;
+ endpoints[0].setValue(latlng.join(", "));
+ }
+
map.on("locationfound", ({ latlng: { lat, lng } }) =>
lastLocation = [lat, lng]
).on("locateactivate", () => {
- map.once("startinglocation", ({ latlng }) => {
- if (endpoints[0].value) return;
- endpoints[0].setValue(latlng.join(", "));
- });
+ map.once("startinglocation", startingLocationListener);
});
const page = {};