当人们在我的网站上注册时,他们会输入他们的街道名称。我想插入一个可以生成其位置的地图。我有PHP变量但是如何将它们插入到Google Javascript代码中,这可以在地图上生成该特定位置。我曾尝试阅读一些谷歌地图开发人员,并制作了我自己的API密钥,但我不知道如何从这一点开始。
$sql = "SELECT * FROM submitted WHERE id ='$id'";
$sql_run = $db->query($sql);
$row = mysqli_fetch_assoc($sql_run);
$city= $row["city"];
$street= $row["streetname"];
要在地图上绘制地址,请执行以下步骤:
第1步:包含谷歌地图API脚本文件
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_KEY"></script>
第2步:创建一个地图元素
<div id="map" style="height: 550px; width: 100%;"></div>
第3步:代码声明地图元素和地址地理编码以绘制标记
<script type="text/javascript">
// ====== Create map objects ======
var latlng = new google.maps.LatLng(-34.397, 150.644);
var mapOptions = {
zoom: 10,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var geo = new google.maps.Geocoder();
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var bounds = new google.maps.LatLngBounds();
// ====== Geocoding ======
function getAddress(search) {
geo.geocode({address:search}, function (results,status)
{
// If that was successful
if (status == google.maps.GeocoderStatus.OK) {
// Lets assume that the first marker is the one we want
var p = results[0].geometry.location;
var lat=p.lat();
var lng=p.lng();
// Output the data
createMarker(search,lat,lng);
}
// ====== Decode the error status ======
else {
alert('Something went wrong. Please Try again.');
}
}
);
}
// ======= Function to create a marker
function createMarker(location,lat,lng) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: map
});
google.maps.event.addListener(marker, 'click', function() {
alert("Your Location : "+location);
});
bounds.extend(marker.position);
}
</script>
步骤4:从数据库获取地址并使用给定的地址变量在脚本中调用地理编码函数getAddress('address from db')
。
<?php
$city = $row["city"];
$street = $row["streetname"];
?>
<script>
getAddress('<?php echo $street.','.$city; ?>');
</script>
我希望你能轻松理解这段代码。如果有关于此代码的问题,请告诉我。