2013-08-16 98 views
1

我想做一個地理定位圖,我已經做了,並找到後,我想要把一種形式,要求特定的藥物,具有特定的拉特和lng,當人們提交地圖的形式顯示了地圖上特殊的標記。到目前爲止,這是我的代碼:地理位置的PHP的JavaScript形式

** HTML/PHP: 地理位置 Especialidade: Dentista Oncologia Cardiologia Dermatologia Endoscopia Geriatria 中號astologia Neurologia Pediatria在地圖上

</select> 
    <input type="submit" id="go"/> 
</form> 
    <!--<form action="geolocation.php" method="GET" name="seguro"> 
<label>Plano de Saúde:</label> 
    <select> 
     <option value="1">t</option> 
     <option value="2">h</option> 
     <option value="3">z</option> 
     <option value="4">y</option> 
     <option value="5">x</option> 


    </select> 
    <!-- submit ta so pra um acho 
</form>--> 

<?php 
$conn = @mysql_connect("localhost","root","") or die("Erro ao connectar!"); 
$db = @mysql_select_db("medico",$conn) or die("Soçe essa base de dados não existe"); 
@$espec = $_POST['espec']; 
$dom = new DOMDocument("1.0"); 
$node = $dom->createElement("markers"); 
$parnode = $dom->appendChild($node); 

$sql = @mysql_query("SELECT * FROM medico WHERE especialidade = '$espec'") or   
die("Nepia essa query não dá soçe"); 
while($row = @mysql_fetch_assoc($sql)){ 
    $node = $dom->createElement("marker"); 
    $newnode = $parnode->appendChild($node); 
    $newnode->setAttribute(utf8_encode("name"),utf8_encode($row['name'])); 
    $newnode->setAttribute("address", $row['address']); 
    $newnode->setAttribute("lat", $row['lat']); 
    $newnode->setAttribute("lng", $row['lng']); 
    $newnode->setAttribute("clinica", $row['clinica']); 
    $newnode->setAttribute("especialidade", $row['especialidade']); 

    $dom->save("coord.xml"); 
} 



?> 

</div> 
    </body> 
</html> 

javascript of geolocation: 
var map; 

function initialize() { 
    var mapOptions = { 
    zoom: 6, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    map = new google.maps.Map(document.getElementById('map-canvas'), 
     mapOptions); 


    // Try HTML5 geolocation 
    if(navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) { 
     var pos = new google.maps.LatLng(position.coords.latitude, 
            position.coords.longitude); 
     var lat = position.coords.latitude; 
     var long = position.coords.longitude; 
     console.log('Your latitude is :'+lat+' and longitude is '+long); 
     //alert('Your latitude is :'+lat+' and longitude is '+long); 
      var marker = new google.maps.Marker({ 
      position: pos, 
      map: map, 
      icon: 'http://labs.google.com/ridefinder/images/mm_20_blue.png' 
});          

     /* var infowindow = new google.maps.InfoWindow({ 
     map: map, 
     position: pos, 
     content: 'Location found using HTML5.' 
      });*/ 

     map.setCenter(pos); 
    }, function() { 
     handleNoGeolocation(true); 
    }); 
    } else { 
    // Browser doesn't support Geolocation 
    handleNoGeolocation(false); 
    } 
} 

function handleNoGeolocation(errorFlag) { 
    if (errorFlag) { 
    var content = 'Error: The Geolocation service failed.'; 
    } else { 
    var content = 'Error: Your browser doesn\'t support geolocation.'; 
    } 

    var options = { 
    map: map, 
    position: new google.maps.LatLng(60, 105), 
     content: content, 

     }; 

     var infowindow = new google.maps.InfoWindow(options); 
     map.setCenter(options.position); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 

標記:

 var customIcons = { 
     restaurant: { 
      icon: 'http://labs.google.com/ridefinder/images/mm_20_blue.png', 
      shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png' 
      }, 
      bar: { 
      icon: 'http://labs.google.com/ridefinder/images/mm_20_red.png', 
      shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png' 
     } 
     }; 

     function load() { 
      var map = new google.maps.Map(document.getElementById("map"), { 
      center: new google.maps.LatLng(47.6145, -122.3418), 
       zoom: 13, 
      mapTypeId: 'roadmap' 
      }); 
      var infoWindow = new google.maps.InfoWindow; 

       // Change this depending on the name of your PHP file 
       downloadUrl("geolocation.php", function(data) { 
      var xml = data.responseXML; 
      var markers = xml.documentElement.getElementsByTagName("marker"); 
       for (var i = 0; i < markers.length; i++) { 
       var name = markers[i].getAttribute("name"); 
       var address = markers[i].getAttribute("address"); 
        var type = markers[i].getAttribute("clinica"); 
        var point = new google.maps.LatLng(
       parseFloat(markers[i].getAttribute("lat")), 
       parseFloat(markers[i].getAttribute("lng"))); 
      var html = "<b>" + name + "</b> <br/>" + address; 
      var icon = customIcons[type] || {}; 
      var marker = new google.maps.Marker({ 
       map: map, 
        position: point, 
       icon: icon.icon, 
       shadow: icon.shadow 
      }); 
       bindInfoWindow(marker, map, infoWindow, html); 
      } 
      }); 
     } 

      function bindInfoWindow(marker, map, infoWindow, html) { 
       google.maps.event.addListener(marker, 'click', function() { 
     //infoWindow.style.opacity = "0.9"; 
       infoWindow.setContent(html); 
      infoWindow.open(map, marker); 
      }); 
      } 

     function downloadUrl(url, callback) { 
     var request = window.ActiveXObject ? 
      new ActiveXObject('Microsoft.XMLHTTP') : 
       new XMLHttpRequest; 

     request.onreadystatechange = function() { 
      if (request.readyState == 4) { 
      request.onreadystatechange = doNothing; 
       callback(request, request.status); 
       } 
      }; 

     request.open('GET', "coord1.xml", true); 
     request.send(null); 
     } 

    function doNothing() {}** 

我有地理位置和地圖分開工作的標記系統的系統,我需要一個形式,將它們連接起來,所以遠不工作。任何幫助讚賞

回答

0

這是一個非常好的問題!試着把

<onsubmit = onsubmit="window.location.href = 'documentName.php'; return false;">