Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
913d5c915c
|
|||
|
89f667b17e
|
|||
|
22d4ef8d96
|
|||
|
b17793af9d
|
|||
|
dc9e0f210a
|
@@ -119,6 +119,28 @@ export default class MapComponent extends Component {
|
|||||||
|
|
||||||
const searchResultStyle = (feature) => {
|
const searchResultStyle = (feature) => {
|
||||||
const originalPlace = feature.get('originalPlace');
|
const originalPlace = feature.get('originalPlace');
|
||||||
|
|
||||||
|
// If this place is currently selected, hide the search result marker
|
||||||
|
// because the main red drop pin will be shown instead.
|
||||||
|
const selectedPlace = this.mapUi.selectedPlace;
|
||||||
|
if (selectedPlace) {
|
||||||
|
const isSameOsmId =
|
||||||
|
originalPlace.osmId &&
|
||||||
|
selectedPlace.osmId &&
|
||||||
|
originalPlace.osmId === selectedPlace.osmId;
|
||||||
|
const isSameId =
|
||||||
|
originalPlace.id &&
|
||||||
|
selectedPlace.id &&
|
||||||
|
originalPlace.id === selectedPlace.id;
|
||||||
|
const isSameCoords =
|
||||||
|
originalPlace.lat === selectedPlace.lat &&
|
||||||
|
originalPlace.lon === selectedPlace.lon;
|
||||||
|
|
||||||
|
if (isSameOsmId || isSameId || isSameCoords) {
|
||||||
|
return new Style({}); // Empty style makes it invisible
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Some search results might be just the place object without separate tags
|
// Some search results might be just the place object without separate tags
|
||||||
// If it's a raw place object, it might have osmTags property.
|
// If it's a raw place object, it might have osmTags property.
|
||||||
// Or it might be the tags object itself.
|
// Or it might be the tags object itself.
|
||||||
@@ -599,6 +621,11 @@ export default class MapComponent extends Component {
|
|||||||
const selected = this.mapUi.selectedPlace;
|
const selected = this.mapUi.selectedPlace;
|
||||||
const options = this.mapUi.selectionOptions || {};
|
const options = this.mapUi.selectionOptions || {};
|
||||||
|
|
||||||
|
// Force a redraw of the search results layer so it can hide/show the selected pin
|
||||||
|
if (this.searchResultsSource) {
|
||||||
|
this.searchResultsSource.changed();
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.selectedPinOverlay || !this.selectedPinElement) return;
|
if (!this.selectedPinOverlay || !this.selectedPinElement) return;
|
||||||
|
|
||||||
// Clear any previous shape
|
// Clear any previous shape
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ import loadingRing from '../icons/270-ring.svg?raw';
|
|||||||
|
|
||||||
import angelfish from '@waysidemapping/pinhead/dist/icons/angelfish.svg?raw';
|
import angelfish from '@waysidemapping/pinhead/dist/icons/angelfish.svg?raw';
|
||||||
import barbell from '@waysidemapping/pinhead/dist/icons/barbell.svg?raw';
|
import barbell from '@waysidemapping/pinhead/dist/icons/barbell.svg?raw';
|
||||||
|
import climbingWall from '@waysidemapping/pinhead/dist/icons/climbing_wall.svg?raw';
|
||||||
import banknote from '@waysidemapping/pinhead/dist/icons/banknote.svg?raw';
|
import banknote from '@waysidemapping/pinhead/dist/icons/banknote.svg?raw';
|
||||||
import badgeShieldWithFire from '@waysidemapping/pinhead/dist/icons/badge_shield_with_fire.svg?raw';
|
import badgeShieldWithFire from '@waysidemapping/pinhead/dist/icons/badge_shield_with_fire.svg?raw';
|
||||||
import beachUmbrellaInGround from '@waysidemapping/pinhead/dist/icons/beach_umbrella_in_ground.svg?raw';
|
import beachUmbrellaInGround from '@waysidemapping/pinhead/dist/icons/beach_umbrella_in_ground.svg?raw';
|
||||||
@@ -106,6 +107,7 @@ import womensAndMensRestroomSymbol from '@waysidemapping/pinhead/dist/icons/wome
|
|||||||
|
|
||||||
import wikipedia from '../icons/wikipedia.svg?raw';
|
import wikipedia from '../icons/wikipedia.svg?raw';
|
||||||
import parkingP from '@waysidemapping/pinhead/dist/icons/parking_p.svg?raw';
|
import parkingP from '@waysidemapping/pinhead/dist/icons/parking_p.svg?raw';
|
||||||
|
import car from '@waysidemapping/pinhead/dist/icons/car.svg?raw';
|
||||||
|
|
||||||
const ICONS = {
|
const ICONS = {
|
||||||
activity,
|
activity,
|
||||||
@@ -123,6 +125,7 @@ const ICONS = {
|
|||||||
camera,
|
camera,
|
||||||
'check-square': checkSquare,
|
'check-square': checkSquare,
|
||||||
'cigarette-with-smoke-curl': cigaretteWithSmokeCurl,
|
'cigarette-with-smoke-curl': cigaretteWithSmokeCurl,
|
||||||
|
climbing_wall: climbingWall,
|
||||||
'classical-building': classicalBuilding,
|
'classical-building': classicalBuilding,
|
||||||
'classical-building-with-dome-and-flag': classicalBuildingWithDomeAndFlag,
|
'classical-building-with-dome-and-flag': classicalBuildingWithDomeAndFlag,
|
||||||
'classical-building-with-flag': classicalBuildingWithFlag,
|
'classical-building-with-flag': classicalBuildingWithFlag,
|
||||||
@@ -212,6 +215,7 @@ const ICONS = {
|
|||||||
'womens-and-mens-restroom-symbol': womensAndMensRestroomSymbol,
|
'womens-and-mens-restroom-symbol': womensAndMensRestroomSymbol,
|
||||||
wikipedia,
|
wikipedia,
|
||||||
parking_p: parkingP,
|
parking_p: parkingP,
|
||||||
|
car,
|
||||||
x,
|
x,
|
||||||
zap,
|
zap,
|
||||||
'loading-ring': loadingRing,
|
'loading-ring': loadingRing,
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ export const POI_ICON_RULES = [
|
|||||||
{ tags: { amenity: 'police' }, icon: 'police-officer-with-stop-arm' },
|
{ tags: { amenity: 'police' }, icon: 'police-officer-with-stop-arm' },
|
||||||
{ tags: { amenity: 'toilets' }, icon: 'womens-and-mens-restroom-symbol' },
|
{ tags: { amenity: 'toilets' }, icon: 'womens-and-mens-restroom-symbol' },
|
||||||
{ tags: { amenity: 'school' }, icon: 'open-book' },
|
{ tags: { amenity: 'school' }, icon: 'open-book' },
|
||||||
|
{ tags: { amenity: 'driving_school' }, icon: 'car' },
|
||||||
|
|
||||||
{ tags: { shop: 'coffee' }, icon: 'coffee-bean' },
|
{ tags: { shop: 'coffee' }, icon: 'coffee-bean' },
|
||||||
{ tags: { shop: 'tea' }, icon: 'coffee-bean' },
|
{ tags: { shop: 'tea' }, icon: 'coffee-bean' },
|
||||||
@@ -144,6 +145,7 @@ export const POI_ICON_RULES = [
|
|||||||
{ tags: { sport: 'squash' }, icon: 'person-playing-tennis' },
|
{ tags: { sport: 'squash' }, icon: 'person-playing-tennis' },
|
||||||
{ tags: { sport: 'padel' }, icon: 'person-playing-tennis' },
|
{ tags: { sport: 'padel' }, icon: 'person-playing-tennis' },
|
||||||
{ tags: { sport: 'table_tennis' }, icon: 'table-tennis-paddle' },
|
{ tags: { sport: 'table_tennis' }, icon: 'table-tennis-paddle' },
|
||||||
|
{ tags: { sport: 'climbing' }, icon: 'climbing_wall' },
|
||||||
{ tags: { leisure: 'water_park' }, icon: 'person-swimming-in-water' },
|
{ tags: { leisure: 'water_park' }, icon: 'person-swimming-in-water' },
|
||||||
{ tags: { sport: 'swimming' }, icon: 'person-swimming-in-water' },
|
{ tags: { sport: 'swimming' }, icon: 'person-swimming-in-water' },
|
||||||
{ tags: { sport: 'golf' }, icon: 'person-swinging-golf-club' },
|
{ tags: { sport: 'golf' }, icon: 'person-swinging-golf-club' },
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "marco",
|
"name": "marco",
|
||||||
"version": "1.17.0",
|
"version": "1.17.2",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Unhosted maps app",
|
"description": "Unhosted maps app",
|
||||||
"repository": {
|
"repository": {
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"edition": "octane"
|
"edition": "octane"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@waysidemapping/pinhead": "^15.17.0",
|
"@waysidemapping/pinhead": "^15.20.0",
|
||||||
"ember-concurrency": "^5.2.0",
|
"ember-concurrency": "^5.2.0",
|
||||||
"ember-lifeline": "^7.0.0"
|
"ember-lifeline": "^7.0.0"
|
||||||
}
|
}
|
||||||
|
|||||||
10
pnpm-lock.yaml
generated
10
pnpm-lock.yaml
generated
@@ -9,8 +9,8 @@ importers:
|
|||||||
.:
|
.:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@waysidemapping/pinhead':
|
'@waysidemapping/pinhead':
|
||||||
specifier: ^15.17.0
|
specifier: ^15.20.0
|
||||||
version: 15.17.0
|
version: 15.20.0
|
||||||
ember-concurrency:
|
ember-concurrency:
|
||||||
specifier: ^5.2.0
|
specifier: ^5.2.0
|
||||||
version: 5.2.0(@babel/core@7.28.6)
|
version: 5.2.0(@babel/core@7.28.6)
|
||||||
@@ -1654,8 +1654,8 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@warp-drive/core': 5.8.1
|
'@warp-drive/core': 5.8.1
|
||||||
|
|
||||||
'@waysidemapping/pinhead@15.17.0':
|
'@waysidemapping/pinhead@15.20.0':
|
||||||
resolution: {integrity: sha512-XcL/0Ll+gkRIpXlO+skwd6USynA+mX3DNwqrWDMhgRmLP4DNRPTeaecK64BBxk1bB/F9Xi/9kgN6JA5zbdgejQ==}
|
resolution: {integrity: sha512-JD9XINaMhtEy3VEjvc+l4r1sLwbyOKoYdD2IYY2QNKP3FeeNwE/2gcUly631JH9jPymoFeOix0f3o9L/n9YDSQ==}
|
||||||
|
|
||||||
'@xmldom/xmldom@0.8.11':
|
'@xmldom/xmldom@0.8.11':
|
||||||
resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==}
|
resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==}
|
||||||
@@ -7245,7 +7245,7 @@ snapshots:
|
|||||||
- '@glint/template'
|
- '@glint/template'
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@waysidemapping/pinhead@15.17.0': {}
|
'@waysidemapping/pinhead@15.20.0': {}
|
||||||
|
|
||||||
'@xmldom/xmldom@0.8.11': {}
|
'@xmldom/xmldom@0.8.11': {}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -39,7 +39,7 @@
|
|||||||
<meta name="msapplication-TileColor" content="#F6E9A6">
|
<meta name="msapplication-TileColor" content="#F6E9A6">
|
||||||
<meta name="msapplication-TileImage" content="/icons/icon-144.png">
|
<meta name="msapplication-TileImage" content="/icons/icon-144.png">
|
||||||
|
|
||||||
<script type="module" crossorigin src="/assets/main-DM7YMuyX.js"></script>
|
<script type="module" crossorigin src="/assets/main-B8Ckz4Ru.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/main-OLSOzTKA.css">
|
<link rel="stylesheet" crossorigin href="/assets/main-OLSOzTKA.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
Reference in New Issue
Block a user