i include map functionality script line
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=geometry,drawing&sensor=false"></script> the complete code this
var map, currentinfowindow, drawingmanager, selectedshape; var markers = []; var selectedmarkers = []; var shapes = []; function initialize() { var mapoptions = { center: new google.maps.latlng({0},{1}), // comes db zoom: 8, tilt: 30 }; var mapdiv = document.getelementbyid('mapdiv'); var height = math.max(0, document.documentelement.clientheight - 110).tostring(); mapdiv.setattribute('style','height: ' + height + 'px'); map = new google.maps.map(mapdiv, mapoptions); // {2} // here create markers db info, works fine // var marker{0} = new google.maps.marker({{ position: new google.maps.latlng({1},{2}), map: map, title: '{3}', icon: pinimage{0} }}); markers.push(marker{0}); drawingmanager = new google.maps.drawing.drawingmanager({ drawingcontrol: true, drawingcontroloptions: { position: google.maps.controlposition.top_center, drawingmodes: [google.maps.drawing.overlaytype.polygon] }, map: map }); google.maps.event.addlistener(drawingmanager, 'polygoncomplete', function(polygon) { shapes.push(polygon); drawingmanager.setdrawingmode(null); var newshape = polygon.overlay; google.maps.event.addlistener(newshape, 'click', function() { setselection(newshape); }); setselection(newshape); }); google.maps.event.addlistener(drawingmanager, 'drawingmode_changed', clearselection); google.maps.event.addlistener(map, 'click', clearselection); google.maps.event.adddomlistener(document.getelementbyid('btndeleteselectedshape'), 'click', deleteselectedshape); google.maps.event.adddomlistener(document.getelementbyid('btndeleteallshapes'), 'click', deleteallshapes); google.maps.event.adddomlistener(document.getelementbyid('btnselectmarkers'), 'click', setselectedmarkers); } function addinfowindow(marker, content) { var infowindow = new google.maps.infowindow({ content: content }); google.maps.event.addlistener(marker, 'click', function () { if (currentinfowindow != null) { currentinfowindow.close(); } infowindow.open(marker.get('map'), marker); currentinfowindow = infowindow; }); } function markerselection(spantitle, button) { var hidden = document.getelementbyid('hiddentitle'); hidden.value = spantitle.textcontent; button.disabled = true; __dopostback('',''); } function clearselection() { if (selectedshape) { selectedshape.seteditable(false); selectedshape = null; } } function setselection(shape) { clearselection(); selectedshape = shape; shape.seteditable(true); } function deleteselectedshape() { if (selectedshape) { selectedshape.setmap(null); } } function deleteallshapes() { (var = 0; < shapes.length; i++) { shapes[i].overlay.setmap(null); } shapes = []; } function setselectedmarkers() { var hidden = document.getelementbyid('hiddentitle'); (var = 0; < shapes.length; i++) { (var k = 0; < markers.length; i++) { var point = new google.maps.latlng(markers[k].getposition().lat(), markers[k].getposition().lng()); console.log(point); if ($.inarray(markers[k], selectedmarkers) == -1 && google.maps.geometry.poly.containslocation(point, shapes[i])) { selectedmarkers.push(markers[k]); alert(selectedmarkers.length); hidden.value += markers[k].gettitle() + ','; alert(hidden.value); } } } } google.maps.event.adddomlistener(window, 'load', initialize); i suspect code 'polygoncomplete' may wrong have been getting javascript errors @ part too.
the error on line
google.maps.geometry.poly.containslocation(point, shapes[i])) it works fine when written this
google.maps.geometry.poly.containslocation(point, shapes[i].overlay)) @dr.molle thank spotting loop error
Comments
Post a Comment