Untitled
unknown
plain_text
8 months ago
4.1 kB
3
Indexable
Never
var marker; function taruhMarker(peta, posisiTitik){ if( marker ){ marker.setPosition(posisiTitik); } else { marker = new google.maps.Marker({ position: posisiTitik, map: peta }); } document.getElementById("latitude").value = posisiTitik.lat(); document.getElementById("longitude").value = posisiTitik.lng(); } function initialize() { var markers = []; var map = new google.maps.Map(document.getElementById("map-canvas"), { mapTypeId: google.maps.MapTypeId.ROADMAP, zoom: 17, }); let lat = document.getElementById("latitude").value; let long = document.getElementById("longitude").value; var latlng = new google.maps.LatLng(lat, long); if (lat && long) { var defaultBounds = new google.maps.LatLngBounds(new google.maps.LatLng(lat, long), new google.maps.LatLng(lat, long)); let tanda = new google.maps.Marker({ map: map, // url: './assets/images/logo-sm.png', position: latlng, draggable: false, animation: google.maps.Animation.DROP, anchorPoint: new google.maps.Point(0, -29) }); } else{ var defaultBounds = new google.maps.LatLngBounds(new google.maps.LatLng(-6.165646, 106.8214951), new google.maps.LatLng(-6.115646, 106.8214951)); } google.maps.event.addListener(map, 'click', function(event) { // tanda.setVisible(false); taruhMarker(this, event.latLng); }); map.fitBounds(defaultBounds); // Create the search box and link it to the UI element. var input = /** @type {HTMLInputElement} */ (document.getElementById("pac-input")); map.controls[google.maps.ControlPosition.TOP_LEFT].push(input); var searchBox = new google.maps.places.SearchBox(/** @type {HTMLInputElement} */ (input)); // [START region_getplaces] // Listen for the event fired when the user selects an item from the // pick list. Retrieve the matching places for that item. google.maps.event.addListener(searchBox, "places_changed", function () { var places = searchBox.getPlaces(); if (places.length == 0) { return; } for (var i = 0, marker; (marker = markers[i]); i++) { marker.setMap(null); } // For each place, get the icon, place name, and location. markers = []; var bounds = new google.maps.LatLngBounds(); for (var i = 0, place; (place = places[i]); i++) { var image = { url: place.icon, size: new google.maps.Size(71, 71), origin: new google.maps.Point(0, 0), anchor: new google.maps.Point(17, 34), scaledSize: new google.maps.Size(25, 25), }; // Create a marker for each place. var marker = new google.maps.Marker({ map: map, icon: image, title: place.name, position: place.geometry.location, }); markers.push(marker); // bounds.extend(place.geometry.location); } // map.fitBounds(bounds); map.fitBounds(places[0].geometry.viewport); }); // [END region_getplaces] // Bias the SearchBox results towards places that are within the bounds of the // current map's viewport. google.maps.event.addListener(map, "bounds_changed", function () { var bounds = map.getBounds(); searchBox.setBounds(bounds); }); } google.maps.event.addDomListener(window, "load", initialize);
Leave a Comment