Friday 15 May 2015

php - saving marker data into db -



php - saving marker data into db -

how save google maps marker info mysql db ? using php . , possible prevent dragging marker out of country ? or maybe validating if info out of wanted country when clicking on submit example.

yes, no problem.

the database part, have yourself. provide 'ajax.php'; receive post data. do, print sql-string.

the country belgium, sense free alter (now on line 39). when ever client drops marker anywhere in belgium, marker sent position client started dragging

ajax.php

<?php if($_server['request_method'] === 'post') { $sql = "insert markers (lat, lng) values (". (float) $_post['lat'] .", ". (float) $_post['lng'] .");"; echo $sql; } ?>

index.php

<div id="map-canvas"></div> <div class="controls"> <input type="button" value="save" id="save_marker"> </div> <div id="display"></div> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="http://maps.googleapis.com/maps/api/js?libraries=geometry&sensor=false"></script> <script> /////////////////////// // ajax / upload part $(document).ready(function() { // initialize google maps initialize(); // save marker database $('#save_marker').click(function() { // read position of marker , send via ajax var position = marker.getposition(); $.ajax({ url: 'ajax.php', type: 'post', data: { lat: position.lat(), lng: position.lng() }, success: function(response) { // print insert query #display $('#display').html(response); } }); }); }); /////////////////////// //google maps part var map = null; var marker = null; var country = 'be'; // belgium. sense free utilize script on other country // google maps function initialize() { var startdragposition = null; var mapoptions = { zoom: 8, center: new google.maps.latlng(50.5, 4.5), // on kingdom of belgium maptypeid: google.maps.maptypeid.terrain }; map = new google.maps.map(document.getelementbyid('map-canvas'), mapoptions); // set new marker marker = new google.maps.marker({ position: new google.maps.latlng(50.5, 4.5), map: map, draggable: true }); var mygeocoder = new google.maps.geocoder(); // set callback start , end of dragging google.maps.event.addlistener(marker,'dragstart',function(event) { // remember position marker started. // if marker dropped in other country, set marker position startdragposition = marker.getposition(); }); google.maps.event.addlistener(marker,'dragend',function(event) { // have see if country right country. mygeocoder.geocode({'latlng': marker.getposition()}, function(results, status) { if (status == google.maps.geocoderstatus.ok && results[1]) { var countrymarker = addrescomponent('country', results[1], true); if (country != countrymarker) { // set marker marker.setposition(startdragposition); } } else { // geocoder didn't find anything. let's presume position invalid marker.setposition(startdragposition); } }); }); } /** * geocoderesponse object total of address data. * function "fish" right value * * example: type = 'postal_code' => * geocoderesponse.address_components[5].types[1] = 'postal_code' * geocoderesponse.address_components[5].long_name = '1000' * * type = 'route' => * geocoderesponse.address_components[1].types[1] = 'route' * geocoderesponse.address_components[1].long_name = 'wetstraat' */ function addrescomponent(type, geocoderesponse, shortname) { for(var i=0; < geocoderesponse.address_components.length; i++) { (var j=0; j < geocoderesponse.address_components[i].types.length; j++) { if (geocoderesponse.address_components[i].types[j] == type) { if (shortname) { homecoming geocoderesponse.address_components[i].short_name; } else { homecoming geocoderesponse.address_components[i].long_name; } } } } homecoming ''; } </script> <style> #map-canvas { height:400px; } </style>

php mysql google-maps

No comments:

Post a Comment