javascript - 谷歌地图在打开标记时将 null 设置为默认值
问题描述
打开地图时,有没有办法将“设置地图(空)”创建为默认值?我的意思是当我第一次打开网页时,地图上的所有数据都不会出现。
我使用数据库调用数据并从我的存储中加载数据 geojson
<?php foreach ($map_link->result_array() as $i) : ?>
var <?= $i['maplink_var']; ?> = new google.maps.Data({map: map});
<?= $i['maplink_var']; ?>.loadGeoJson('<?= base_url().'/asset/mapgeojson/geojson/'.$i['maplink_url']; ?>');
<?php endforeach; ?>
<?php foreach ($map_link->result_array() as $i) : ?>
$('#<?= $i['maplink_var'];?>').click(function(){
<?= $i['maplink_var'];?>.setMap($(this).is(':checked') ? map : null);
});
<?php endforeach; ?>
这是我的 javascript 用于打开关闭按钮并显示隐藏地图
$('#jalan_nasional,#jalan_provinsi,#air_bersih,#bendung,#jembatan,#sanitasi,#pelabuhan,#terminal,#stasiun,#bandara,#sungai,#sungaipol,#tol').removeAttr('disabled');
$('#all').click(function(){
<?php foreach ($map_link->result_array() as $i) : ?>
<?= $i['maplink_var']; ?>.setMap($(this).is(':checked') ? map : null);
tol.setMap($(this).is(':checked') ? map : null);
<?php endforeach; ?>
});
$(document).ready(function() {
$('#all').click(function() {
var checked = $(this).prop('checked');
$('#checkboxes').find('input:checkbox').prop('checked', checked);
});
})
这是我的开关数据按钮
<div class="panel panel-default">
<div class="panel-heading">
All
<div class="material-switch pull-right">
<input id="all" name="someSwitchOption001" type="checkbox" checked="checked"/>
<label for="all" class="label-success"></label>
</div>
</div>
<div id="checkboxes">
<ul class="list-group">
<li class="list-group-item">
Jalan Nasional
<div class="material-switch pull-right">
<input id="jalan_nasional" name="someSwitchOption001" type="checkbox" checked="checked"/>
<label for="jalan_nasional" class="label-success"></label>
</div>
</li>
<li class="list-group-item">
Jalan Provinsi
<div class="material-switch pull-right">
<input id="jalan_provinsi" name="someSwitchOption001" type="checkbox" checked="checked"/>
<label for="jalan_provinsi" class="label-success"></label>
</div>
</li>
<li class="list-group-item">
Air
<div class="material-switch pull-right">
<input id="air_bersih" name="someSwitchOption001" type="checkbox" checked="checked"/>
<label for="air_bersih" class="label-success"></label>
</div>
</li>
我的代码实际上没有任何问题。起初,当我打开一个网页时,所有数据都被调用,因此默认情况下屏幕充满了标记数据。按钮用于隐藏和显示标记。而对于目前的问题,我想让地图数据在第一次打开网页时默认不出现,并且所有按钮都处于关闭位置。
也许有人可以帮助我?
解决方案
然后在您的初始分配中设置 null 每个标记(而不是有效的地图值)
<?php foreach ($map_link->result_array() as $i) : ?>
$('#<?= $i['maplink_var'];?>').click(function(){
<?= $i['maplink_var'];?>.setMap( null);
});
<?php endforeach; ?>
推荐阅读
- python - 变量和参数有什么区别
- excel - 在 Excel 中,如何计算子字符串出现在一列文本单元格中的次数?
- python - NLTK CFG 非终端之间没有空格
- python-3.x - 停止由另一个事件处理的事件
- azure - SignalR Azure 新帐户不会出现集成问题
- node.js - 当我尝试访问 localhost 时,node.js 应用程序中的 get() 没有被调用
- javascript - Commander 包未正确解析所有选项
- mysql - MySql 计算分组字段百分比并显示在一行
- makefile - 设置变量以用于不同的 make 目标
- assembly - 无论如何让GCC生成额外的NOP指令以将指令执行与某个块大小对齐?