首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >geolocation javascript表单

geolocation javascript表单
EN

Stack Overflow用户
提问于 2013-08-16 15:49:14
回答 1查看 412关注 0票数 1

我正试着做一张地理定位图,我已经做过了,定位之后,我想放一张表格,要求一种有特定lat和lng的特殊药物,当人们提交表格时,地图会显示出地图上的特殊标志。到目前为止这是我的代码:

**html/php:地理定位Especialidade: Dentista瘤、贲门痛、皮肤病、内镜、胃肌痛、神经痛、小腿痛

代码语言:javascript
复制
    </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);

地图上的标记:

代码语言:javascript
复制
       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() {}**

我有地理定位系统和地图上的标记系统分开工作,我需要一个表格来连接他们,到目前为止还没有工作。感谢你的任何帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-16 16:12:20

这真是个好问题!试着

代码语言:javascript
复制
<onsubmit = onsubmit="window.location.href = 'documentName.php'; return false;">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18277360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档