我有以下代码:
<form action="suche/" method="get">
<input autocomplete="false" name="hidden" type="text" style="display:none;">
<input type="hidden" id="lng" value="" name="lng">
<input type="hidden" id="lat" value="" name="lat">
<input type="text" id="city" name="city" autocomplete="off" class="form-control header city" placeholder="Wo suchst du?" required>
<button class="btn btn-primary btn-block header" type="submit">Suchen</button>
</form>
<div id="map" style="width:100%;height:400px"></div>
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: {
lat: 52.545157,
lng: 11.083294900000055
}
});
var infoWin = new google.maps.InfoWindow();
var markers = locations.map(function(location, i) {
var marker = new google.maps.Marker({
position: location
});
google.maps.event.addListener(marker, 'click', function(evt) {
infoWin.setContent(location.info);
infoWin.open(map, marker);
})
return marker;
});
var markerCluster = new MarkerClusterer(map, markers, {
imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'
});
}
var locations = [{
lat: 52.5504,
lng: 11.08523,
info: 'xxx'
}];
google.maps.event.addDomListener(window, 'load', initMap);
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=[MYKEY]&libraries=places"></script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=[MYKEY]&&callback=initMap"></script>
<script type="text/javascript" src="https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/markerclusterer.js"></script>
<script src="jquery.geocomplete.js"></script>
<script>
$(".city").geocomplete({
details: "form",
//types: ["geocode"],
language: 'de-DE',
types: ['geocode'],
componentRestrictions: {country: "de"}
});
$("#find").click(function(){
$(".city").trigger("geocode");
});
</script>
问题:控制台输出:您在此页面上多次包含 Google Maps JavaScript API。这可能会导致意外错误
有人知道如何从谷歌地图 api 中只包含一个 js 库吗?
我对我的表单使用自动完成(地理编码数据(lng,lat))在其他div中我使用Markerclusterer,它不适用于自动完成(这是正确的)。