我正在尝试制作我已经做过的地理定位图,并且在定位后我想放置一个表格,询问具有特定纬度和经度的药物的特殊性,当人们提交地图显示的表格时地图上的特殊性标记。到目前为止,这是我的代码:
**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() {}**
我的地理定位系统和地图中的标记系统分别工作,我需要一个表格来连接它们,到目前为止还没有工作。任何帮助表示赞赏