api - 在 Laravel Blade 的“Enter”上打开“Google Maps API 键盘快捷键”弹出窗口
问题描述
我已经使用同一个文件一年多了,突然在我的本地环境中,我的 Google Maps API 在按下回车键时不断打开一个“键盘快捷方式”弹出窗口。通常在按 Enter 时,我的光标会移动到表单中的下一个必填输入字段。我没有对我的代码进行任何更改,但我更新了 Sublime Text,我的文本编辑器,它现在似乎支持 .blade.php 文件。
我最终修复了代码,这是我目前的代码:
我的表格:客户地址搜索客户地址
</x-slot>
<div class="form-group row">
<div class="col-lg-12">
<label>Physical Address<span style="color: red"> *</span></label>
<input type="search" id="searchmap" class="form-control" placeholder="Search Address..." name="address">
<input hidden type="text" name="lat" id="lat" required>
<input hidden type="text" name="lng" id="lng" required>
<br>
<div class="form-group">
<div id="map-canvas"></div>
</div>
</div>
</div>
<!-- end::Row -->
<div class="form-group row">
<div class="col-md-12">
<label>Address Comments</label>
<textarea class="form-control" name="address_comments" id="address_comments" rows="3"></textarea>
</div>
</div>
</x-card>
我的 JavaScript:
<script src="https://maps.googleapis.com/maps/api/js?key=MYKEY&libraries=places" type="text/javascript"></script>
<script type="text/javascript">
var map = new google.maps.Map(document.getElementById('map-canvas'),{
center:{
lat: -26.18,
lng: 28.04
},
zoom:9
});
var marker = new google.maps.Marker({
Position: {
lat: -26.18,
lng: 28.04
},
map: map,
draggable: true
});
var searchBox = new google.maps.places.SearchBox(document.getElementById('searchmap'));
google.maps.event.addListener(searchBox,'places_changed',function(){
var places = searchBox.getPlaces();
var bounds = new google.maps.LatLngBounds();
var i, place;
for(i=0; place=places[i];i++){
bounds.extend(place.geometry.location);
marker.setPosition(place.geometry.location); //set marker position new...
}
map.fitBounds(bounds);
map.setZoom(18);
});
google.maps.event.addListener(marker,'position_changed',function(){
var lat = marker.getPosition().lat();
var lng = marker.getPosition().lng();
$('#lat').val(lat);
$('#lng').val(lng);
});
</script>
解决方案
如果您不需要显示实际的键盘快捷键按钮,您可以通过设置 google map 实例的控制选项来隐藏它:
keyboardShortcuts: false
该文档没有具体向您展示这一点,但他们确实在以下位置提到了该控件:https ://developers.google.com/maps/documentation/javascript/controls
推荐阅读
- c++ - 创建网格和启动窗口 SDL/GLEW C++ 时访问冲突
- jquery - 我想拆分一个对象并传递给我的 POJO setter
- regex - 正则表达式:如何替换 xml 属性中的所有嵌套双引号
- java - 不要在 JAVA 中从字符串的开头/结尾修剪制表符(\t)
- ansible - 如何查看托管主机上的文件?
- plsql - 为奇怪的符号获取正确的十六进制
- visual-studio-code - 对 .tsx/.ts 文件中的 css 类名禁用智能感知
- c++ - 将函数对象分配给函数包装器后的意外行为
- firebase-realtime-database - 使用 Firebase 规则防止空数据库路径
- swift - 将 Moya 响应错误转换为定义的类型