Der Code aus post #2 funktioniert jetzt auf einer neu erstellten Seite.
Der aus deiner Anleitung leider nicht. Wieder der gleiche Fehler.
Der aus deiner Anleitung leider nicht. Wieder der gleiche Fehler.
// dropins/widgets/gmaps.js $.widget("sv.gmaps_map", $.sv.widget, { initSelector: 'div[data-widget="gmaps_map"]', options: { 'traffic': null, }, _create: function () { this._super(); this.map = new google.maps.Map(document.getElementById(this.element[0].id), { zoom: 11, disableDefaultUI: false, clickableIcons: false, mapTypeControl: false, streetViewControl: false }); this.directionsService = new google.maps.DirectionsService; this.directionsDisplay = new google.maps.DirectionsRenderer(); this.directionsDisplay.setMap(this.map); if (this.options['traffic']) { var trafficLayer = new google.maps.TrafficLayer(); trafficLayer.setMap(this.map); } var pinColorGreen = "20d24a"; var pinImageGreen = new google.maps.MarkerImage("https://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|" + pinColorGreen, new google.maps.Size(21, 34), new google.maps.Point(0,0), new google.maps.Point(10, 34)); var pinImageMyself = new google.maps.MarkerImage("/smartVISU/pics/phone/myself.jpg" , null, null, null, new google.maps.Size(40, 40)); var pinShadow = new google.maps.MarkerImage("https://chart.apis.google.com/chart?chst=d_map_pin_shadow", new google.maps.Size(40, 37), new google.maps.Point(0, 0), new google.maps.Point(12, 35)); this.marker_home = new google.maps.Marker({ map: this.map, icon: pinImageGreen, shadow: pinShadow, title:' Home ' }); this.marker_myself = new google.maps.Marker({ map: this.map, icon: pinImageMyself, title:' <Mein Name>', zIndex:99999999 }); }, _update: function(response) { this.map.setCenter({lat: response[0], lng: response[1]}); var pos = new google.maps.LatLng(parseFloat(response[0]),parseFloat(response[1])); this.marker_myself.setPosition(pos); if (response[2] && response[3]) { var pos_home = new google.maps.LatLng(parseFloat(response[2]),parseFloat(response[3])); this.marker_home.setPosition(pos_home); if (response[6] && response[7] && (response[4] == 1 || response[5] == 1)) { if (response[4] == 1) { var destination = { lat: parseFloat(response[2]), lng: parseFloat(response[3]) }; } else if (response[5] == 1) { var destination = { lat: parseFloat(response[6]), lng: parseFloat(response[7]) }; }; var directionsDisplay = this.directionsDisplay; this.directionsDisplay.setMap(this.map); this.directionsService.route({ origin: pos, //provideRouteAlternatives: true, destination: destination, travelMode: google.maps.TravelMode.DRIVING }, function(result, status) { if (status === google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(result); } else { console.log('Directions request failed due to ' + status); } }); } else { if(this.directionsDisplay != null) { this.directionsDisplay.setMap(null); } } } } })
// dropins/widgets/gmaps.html - API Key für Google Directions angeben! /** * Displays a google maps map with current, home and work position, as well as routing * * @param unique id for this widget * @param a gad/item for latitude * @param a gad/item for longitude * @param a gad/item for home latitude * @param a gad/item for home longitude * @param a gad/item for bool flag, if route to home shall be calculated * @param a gad/item for bool flag, if route to work shall be calculated * @param a gad/item for work latitude * @param a gad/item for work longitude * @param traffic information on (=1) or off (=0) */ {% macro map(id, gad_lat, gad_lon, gad_home_lat, gad_home_lon, gad_calculate_way_home, gad_calculate_way_work, gad_work_lat, gad_work_lon, traffic) %} <div id="{{ uid(page, id) }}" style="width: 100%; height: 400px;" data-traffic="{{ traffic }}" data-widget="gmaps_map" data-item="{{ gad_lat }}, {{ gad_lon}}, {{ gad_home_lat }}, {{ gad_home_lon }}, {{ gad_calculate_way_home }}, {{ gad_calculate_way_work }}, {{ gad_work_lat }}, {{ gad_work_lon }}"></div> <script src="https://maps.googleapis.com/maps/api/js?key=MeinApiKey"></script> {% endmacro %}
<div class="block" style="width: 100%;"> <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true"> <div data-role="collapsible" data-collapsed="false"> <h3>Verkehr: {{ basic.symbol('travel_info.calculate_way_home', 'travel_info.calculate_way_home', 'Nach Hause via ', '', '1') }} {{ basic.symbol('travel_info.calculate_way_work', 'travel_info.calculate_way_work', 'Zur Arbeit via ', '', '1') }} {{ basic.print('travel_info.travel_summary', 'travel_info.travel_summary', 'text') }} </h3> {{ gmaps.map('trafficmap', 'location.lat', 'location.lon', 'location.home.lat', 'location.home.lon', 'travel_info.calculate_way_home', 'travel_info.calculate_way_work', 'location.work.lat', 'location.work.lon', '1') }} </div> </div> </div>
<div id="map" style="width: 100%; height: 400px;"></div> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDxxxxxxxxx9WcgVn8zMCcFi98Jo1C4&callback=initMap&signed_in=false" async defer> </script> <script> function initMap() { var map = new google.maps.Map(document.getElementById('map'), { zoom: 5, center: {lat: 46.7421789, lng: 11.102298}, disableDefaultUI: false, clickableIcons: false, mapTypeControl: false, streetViewControl: false }); var marker = new google.maps.Marker({ position: {lat: 48.7421789, lng: 9.102298 }, map: map, title:' marker ' }); } </script>
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar