地理围栏外的标记在 google 地图中未显示任何警报
Marker coming outside the geofence not showing any alert in google maps
我想在标记从多边形地理围栏中出来时进行围栏,它应该发出警报,但它没有显示任何警报 message.im 使用第三方 api 来实施地理围栏 - https://hpneo.github.io/gmaps/examples/geofences.html.在此 link 中它可以工作,但在我的代码中不起作用。将标记拖到栅栏外时出现以下错误。
显示错误 - fence.containsLatLng 不是函数
代码
<head>
<meta charset="utf-8">
<title>GMaps.js — Geofences</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<!--<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>-->
<script type="text/javascript" src="../gmaps.js"></script>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?sensor=true&key=AIzaSyDci4vYApOxVdKqwlpXSv9h77AcWbNuzmQ&libraries=drawing&callback=initMap">
</script>
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/1.3.0/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="examples.css" />
<script type="text/javascript">
var map;
$(document).ready(function(){
map = new GMaps({
el: '#map',
lat: -12.043333,
lng: -77.028333
});
var path = [
[-12.040397656836609,-77.03373871559225],
[-12.040248585302038,-77.03993927003302],
[-12.050047116528843,-77.02448169303511],
[-12.044804866577001,-77.02154422636042]
];
polygon = map.drawPolygon({
paths: path,
strokeColor: '#BBD8E9',
strokeOpacity: 1,
strokeWeight: 3,
fillColor: '#BBD8E9',
fillOpacity: 0.6
});
var circle = map.drawCircle({
lat: -12.040504866577001,
lng: -77.02024422636042,
radius: 350,
strokeColor: '#432070',
strokeOpacity: 1,
strokeWeight: 3,
fillColor: '#432070',
fillOpacity: 0.6
});
map.addMarker({
lat: -12.041111,
lng: -77.028333,
draggable: true,
fences: [polygon],
outside: function(m, f){
alert('This marker has been moved outside of its fence');
}
});
map.addMarker({
lat: -12.044444,
lng: -77.028333,
draggable: true,
fences: [polygon],
outside: function (m, f) {
alert('This marker has been moved outside of its fence');
}
});
map.addMarker({
lat: -12.040504866577001,
lng: -77.02024422636042,
draggable: true,
fences: [circle],
outside: function(m, f){
alert('This marker has been moved outside of its fence');
}
});
});
</script>
</head>
<body>
<h1>GMaps.js — Geofences</h1>
<div class="row">
<div class="span11">
<div id="map"></div>
</div>
<div class="span6">
<p>You can attach a geofence (which can be a polygon or a bounds) to a marker with:</p>
<pre>polygon = map.drawPolygon({
paths: path,
strokeColor: '#BBD8E9',
strokeOpacity: 1,
strokeWeight: 3,
fillColor: '#BBD8E9',
fillOpacity: 0.6
});
map.addMarker({
lat: -12.043333,
lng: -77.028333,
draggable: true,
fences: [polygon],
outside: function(marker, fence){
alert('This marker has been moved outside of its fence');
}
});</pre>
<p>You must define an <strong>outside</strong> callback, which will use this <code>marker</code> and its <code>fence</code>.</p>
<p><span class="label notice">Note: </span>You also can use <code>checkMarkerGeofence</code> or <code>checkGeofence</code> methods.</p>
</div>
</div>
</body>
</html>
按顺序包含您的脚本:
<script type="text/javascript" src="../gmaps.js"></script>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?sensor=true&key=AIzaSyDci4vYApOxVdKqwlpXSv9h77AcWbNuzmQ&libraries=drawing&callback=initMap">
</script>
应该是:
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?sensor=true&key=AIzaSyDci4vYApOxVdKqwlpXSv9h77AcWbNuzmQ&libraries=drawing&callback=initMap">
</script>
<script type="text/javascript" src="../gmaps.js"></script>
由于gmaps是基于googlemaps的,所以应该先参考后者,再参考gmaps.js。
我想在标记从多边形地理围栏中出来时进行围栏,它应该发出警报,但它没有显示任何警报 message.im 使用第三方 api 来实施地理围栏 - https://hpneo.github.io/gmaps/examples/geofences.html.在此 link 中它可以工作,但在我的代码中不起作用。将标记拖到栅栏外时出现以下错误。
显示错误 - fence.containsLatLng 不是函数
代码
<head>
<meta charset="utf-8">
<title>GMaps.js — Geofences</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<!--<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>-->
<script type="text/javascript" src="../gmaps.js"></script>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?sensor=true&key=AIzaSyDci4vYApOxVdKqwlpXSv9h77AcWbNuzmQ&libraries=drawing&callback=initMap">
</script>
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/1.3.0/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="examples.css" />
<script type="text/javascript">
var map;
$(document).ready(function(){
map = new GMaps({
el: '#map',
lat: -12.043333,
lng: -77.028333
});
var path = [
[-12.040397656836609,-77.03373871559225],
[-12.040248585302038,-77.03993927003302],
[-12.050047116528843,-77.02448169303511],
[-12.044804866577001,-77.02154422636042]
];
polygon = map.drawPolygon({
paths: path,
strokeColor: '#BBD8E9',
strokeOpacity: 1,
strokeWeight: 3,
fillColor: '#BBD8E9',
fillOpacity: 0.6
});
var circle = map.drawCircle({
lat: -12.040504866577001,
lng: -77.02024422636042,
radius: 350,
strokeColor: '#432070',
strokeOpacity: 1,
strokeWeight: 3,
fillColor: '#432070',
fillOpacity: 0.6
});
map.addMarker({
lat: -12.041111,
lng: -77.028333,
draggable: true,
fences: [polygon],
outside: function(m, f){
alert('This marker has been moved outside of its fence');
}
});
map.addMarker({
lat: -12.044444,
lng: -77.028333,
draggable: true,
fences: [polygon],
outside: function (m, f) {
alert('This marker has been moved outside of its fence');
}
});
map.addMarker({
lat: -12.040504866577001,
lng: -77.02024422636042,
draggable: true,
fences: [circle],
outside: function(m, f){
alert('This marker has been moved outside of its fence');
}
});
});
</script>
</head>
<body>
<h1>GMaps.js — Geofences</h1>
<div class="row">
<div class="span11">
<div id="map"></div>
</div>
<div class="span6">
<p>You can attach a geofence (which can be a polygon or a bounds) to a marker with:</p>
<pre>polygon = map.drawPolygon({
paths: path,
strokeColor: '#BBD8E9',
strokeOpacity: 1,
strokeWeight: 3,
fillColor: '#BBD8E9',
fillOpacity: 0.6
});
map.addMarker({
lat: -12.043333,
lng: -77.028333,
draggable: true,
fences: [polygon],
outside: function(marker, fence){
alert('This marker has been moved outside of its fence');
}
});</pre>
<p>You must define an <strong>outside</strong> callback, which will use this <code>marker</code> and its <code>fence</code>.</p>
<p><span class="label notice">Note: </span>You also can use <code>checkMarkerGeofence</code> or <code>checkGeofence</code> methods.</p>
</div>
</div>
</body>
</html>
按顺序包含您的脚本:
<script type="text/javascript" src="../gmaps.js"></script>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?sensor=true&key=AIzaSyDci4vYApOxVdKqwlpXSv9h77AcWbNuzmQ&libraries=drawing&callback=initMap">
</script>
应该是:
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?sensor=true&key=AIzaSyDci4vYApOxVdKqwlpXSv9h77AcWbNuzmQ&libraries=drawing&callback=initMap">
</script>
<script type="text/javascript" src="../gmaps.js"></script>
由于gmaps是基于googlemaps的,所以应该先参考后者,再参考gmaps.js。