1

我正在尝试制作我已经做过的地理定位图,并且在定位后我想放置一个表格,询问具有特定纬度和经度的药物的特殊性,当人们提交地图显示的表格时地图上的特殊性标记。到目前为止,这是我的代码:

**html/php: Geolocation Especialidade: Dentista Oncologia Cardiologia Dermatologia Endoscopia Geriatria Mastologia 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() {}**

我的地理定位系统和地图中的标记系统分别工作,我需要一个表格来连接它们,到目前为止还没有工作。任何帮助表示赞赏

4

1 回答 1

0

这是一个非常好的问题!试着放

<onsubmit = onsubmit="window.location.href = 'documentName.php'; return false;">
于 2013-08-16T16:12:20.200 回答