inocan-group / vue3-google-map

A set of composable components for easy use of Google Maps in your Vue 3 projects.
https://vue3-google-map.com
MIT License
295 stars 60 forks source link

Add support for AdvancedMarker #199

Closed halvtomat closed 3 months ago

halvtomat commented 9 months ago

The google maps Marker element is deprecated as of February 2023, Advanced marker is the new better version.

Read more about Advanced marker here

HusamElbashir commented 9 months ago

Thanks for the heads up! We'll try and work that into our plans.

ScreamZ commented 8 months ago

Screenshot 2024-03-07 at 11 33 37

For more details

Molanda commented 6 months ago

I was able to use the AdvancedMarkerElement by adding marker to the libraries prop.

<GoogleMap :libraries="['marker']" ...

Once I did that, I was able to add the marker as follows (see the Advanced Usage section).

const marker = new this.refMap.api.marker.AdvancedMarkerElement({
  map: this.refMap.map,
  position: {
    lat: -25.363,
    lng: 131.044,
  },
});

@HusamElbashir marker should be added to the list of libraries to avoid any TypeScript warnings...

libraries: {
  type: Array as PropType<("drawing" | "geometry" | "localContext" | "places" | "visualization" | "marker")[]>,
  default: () => ["places"],
},

Thank you for putting the component together!

allaghi commented 6 months ago

I was able to use the AdvancedMarkerElement by adding marker to the libraries prop.

<GoogleMap :libraries="['marker']" ...

Once I did that, I was able to add the marker as follows (see the Advanced Usage section).

const marker = new this.refMap.api.marker.AdvancedMarkerElement({
  map: this.refMap.map,
  position: {
    lat: -25.363,
    lng: 131.044,
  },
});

@HusamElbashir marker should be added to the list of libraries to avoid any TypeScript warnings...

libraries: {
  type: Array as PropType<("drawing" | "geometry" | "localContext" | "places" | "visualization" | "marker")[]>,
  default: () => ["places"],
},

Thank you for putting the component together!

Could you please show us the full example how you solve it ?

Thanks in advance.

oawebdev commented 6 months ago

I was able to use the AdvancedMarkerElement by adding marker to the libraries prop.

<GoogleMap :libraries="['marker']" ...

Once I did that, I was able to add the marker as follows (see the Advanced Usage section).

const marker = new this.refMap.api.marker.AdvancedMarkerElement({
  map: this.refMap.map,
  position: {
    lat: -25.363,
    lng: 131.044,
  },
});

@HusamElbashir marker should be added to the list of libraries to avoid any TypeScript warnings...

libraries: {
  type: Array as PropType<("drawing" | "geometry" | "localContext" | "places" | "visualization" | "marker")[]>,
  default: () => ["places"],
},

Thank you for putting the component together!

Hello! How to use it with MarkerCluster component?

sbautista05 commented 6 months ago

Hello, any update on this new feature? Thank you :)

luisfrancajr commented 6 months ago

Hello, is there any way to use MarkerCluster with advanced marker?

Indre87 commented 4 months ago

Any updates on this with MarkerCluster?

VictorBalbo commented 4 months ago

I created a PR to add the new AdvancedMarker component: #263 To be honest the new component doesn't seem to bring any big changes, the only thing I saw different was the option to custumize the pin without actually replacing it by an image, and also removed a lot of events and options that existed in the old component (like the property for animation, which now have to be done by hand). But at least it stops the anoying warnings and can easily replace the Marker component

HusamElbashir commented 3 months ago

Released in v0.21.0. Thanks to @VictorBalbo for the contribution.