Bonjour
Sur MAgento ils implémentent la librairie require js pour intégrer du javascript.
Pour mon client j'ai mis en place un plugin que j'ai acheté pour faire du pickup avec initialement Google MAPS
Mais comme c'est passé payant on aimerai passer sous Open Street map mais c'est la grosse galère.
Bon alors j'arrive à afficher la map avec les points des magasins mais dès que je veux implementer un plugin de geolocalisation ou autocompletion plus rien ne fonctionne.
J'ai essayé la librairie open layer et leaflet c'est pareil
Bon avec open layers voila ce que je fais et là j'ai toujous ol is undefined je n'arrive pas à voir pourquoi![]()
dans mon requiejs-config.js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 var config = { "map": { "*": { "storeLocatorMap": "Magedelight_LocatorAndPickup/js/storelocatormap", "mdMapWidget": "Magedelight_LocatorAndPickup/js/map3" } }, config: { mixins: { 'Magento_Checkout/js/view/shipping': { 'Magedelight_LocatorAndPickup/js/view/shipping-mixin': true }, 'Magento_Checkout/js/model/shipping-save-processor/payload-extender': { 'Magedelight_LocatorAndPickup/js/model/shipping-save-processor/store-pickup-payload-extender': true } } }, paths: { 'openlayer': 'https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.3.1/build/ol' }, shim: { 'openlayer': { exports : 'ol' } } };
et dans mon map3.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 define([ 'jquery', 'Magento_Ui/js/modal/modal', 'jquery/ui', 'Magedelight_LocatorAndPickup/js/marker', 'domReady!', 'openlayer' ], function($,modal,ol){ "use strict"; var map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }) ], view: new ol.View({ center: ol.proj.fromLonLat([37.41, 8.82]), zoom: 4 }) }); })
Partager