未捕获 没有定义元素?
Uncaught No element defined?
我正在使用 gmaps.js。我收到 Uncaught ReferenceError: gmaps.js:205 Uncaught No element defined.
以下屏幕截图显示了 Chrome 如何报告 gmaps Javascripts 中的错误:
但我在 jsfiddle 中确实如此,但在我的本地主机 (XAMPP) 问题上有相同的代码。
var map = new GMaps({
el: '#map',
lat: -12.043333,
lng: -77.028333,
click: function(event) {
map.removeMarkers();
var lat = event.latLng.lat();
var lng = event.latLng.lng();
alert(lat + ', ' + lng);
map.addMarker({
lat: lat,
lng: lng,
draggable: true,
});
}
});
$('select,input').change(function() {
var searchString = [$('select.Country').val(), $('select.Cities').val(), $('input#SearchDistrict').val()].join(', ');
alert(searchString);
GMaps.geocode({
address: searchString.trim(),
callback: function(results, status) {
if (status == 'OK') {
var latlng = results[0].geometry.location;
map.setCenter(latlng.lat(), latlng.lng());
map.addMarker({
lat: latlng.lat(),
lng: latlng.lng()
});
}
}
});
});
#map {
width: 400px;
height: 400px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script src="https://hpneo.github.io/gmaps/gmaps.js"></script>
<form>
Country:
<select class="Country">
<option value="" selected="selected"></option>
<option value="United States">United States</option>
</select>
Cities:
<select class="Cities">
<option value="" selected="selected"></option>
<option value="New York">New York</option>
</select>
District:
<input type="text" id="SearchDistrict">
</form>
<div class="popin">
<div id="map"></div>
</div>
我无法解决这个问题,所以我需要你的 support.What 可以吗?
我已经测试了脚本,它运行良好。只有在您创建地图时 <div id="map"/>
不 存在时才会出现您看到的错误。
您应该做的是在将地图容器插入DOM树后调用地图创建脚本。
$(document).ready(function(){
var element = document.getElementById('map');
if (typeof(element) != 'undefined' && element != null)
{
map = new GMaps({
div: '#map',
zoom:,
lat:,
lng: ,
});
}
});
我也卡在了这个问题,我发现他们是直接找到节点并串行调用函数,问题是上面的元素没有找到它不会进一步compile/run。
mapBasic();
mapMarker();
mapGeolocation();
mapGeocoding();
mapPolylines();
mapPolygone();
mapRoutes();
所以在我们的例子中,如果找不到 mapBasic
元素,则不会执行进一步的代码。
希望对您有所帮助。
我正在使用 gmaps.js。我收到 Uncaught ReferenceError: gmaps.js:205 Uncaught No element defined.
以下屏幕截图显示了 Chrome 如何报告 gmaps Javascripts 中的错误:
但我在 jsfiddle 中确实如此,但在我的本地主机 (XAMPP) 问题上有相同的代码。
var map = new GMaps({
el: '#map',
lat: -12.043333,
lng: -77.028333,
click: function(event) {
map.removeMarkers();
var lat = event.latLng.lat();
var lng = event.latLng.lng();
alert(lat + ', ' + lng);
map.addMarker({
lat: lat,
lng: lng,
draggable: true,
});
}
});
$('select,input').change(function() {
var searchString = [$('select.Country').val(), $('select.Cities').val(), $('input#SearchDistrict').val()].join(', ');
alert(searchString);
GMaps.geocode({
address: searchString.trim(),
callback: function(results, status) {
if (status == 'OK') {
var latlng = results[0].geometry.location;
map.setCenter(latlng.lat(), latlng.lng());
map.addMarker({
lat: latlng.lat(),
lng: latlng.lng()
});
}
}
});
});
#map {
width: 400px;
height: 400px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script src="https://hpneo.github.io/gmaps/gmaps.js"></script>
<form>
Country:
<select class="Country">
<option value="" selected="selected"></option>
<option value="United States">United States</option>
</select>
Cities:
<select class="Cities">
<option value="" selected="selected"></option>
<option value="New York">New York</option>
</select>
District:
<input type="text" id="SearchDistrict">
</form>
<div class="popin">
<div id="map"></div>
</div>
我无法解决这个问题,所以我需要你的 support.What 可以吗?
我已经测试了脚本,它运行良好。只有在您创建地图时 <div id="map"/>
不 存在时才会出现您看到的错误。
您应该做的是在将地图容器插入DOM树后调用地图创建脚本。
$(document).ready(function(){
var element = document.getElementById('map');
if (typeof(element) != 'undefined' && element != null)
{
map = new GMaps({
div: '#map',
zoom:,
lat:,
lng: ,
});
}
});
我也卡在了这个问题,我发现他们是直接找到节点并串行调用函数,问题是上面的元素没有找到它不会进一步compile/run。
mapBasic();
mapMarker();
mapGeolocation();
mapGeocoding();
mapPolylines();
mapPolygone();
mapRoutes();
所以在我们的例子中,如果找不到 mapBasic
元素,则不会执行进一步的代码。
希望对您有所帮助。