gpt4 book ai didi

java - 动态谷歌地图/纬度经度vars/php/java/var/basic

转载 作者:行者123 更新时间:2023-11-30 04:45:34 25 4
gpt4 key购买 nike

问题:

<小时/>

嗨,

我想通过 IP 地址在我的网站中嵌入动态谷歌地图。我使用 IPlocation 工具获取了纬度/经度数据。我还无法将 IPlocation 的纬度/日志数据连接到谷歌地图 java 代码。我不确定如何在加载 map 功能中格式化/定义/放置纬度和经度。以下是我尝试过但尚未奏效的方法:

  • 我尝试过 JavaScript 代码,
  • 我还尝试手动输入 $latitude 和 $longitude 的值。
  • 我尝试直接将“ip2location_latitude()”和“ip2location_longitude()”放入java代码中。

最终我需要获取基于IP的位置历史记录并将位置数据记录到数据库中。

提前致谢

这是我的代码摘要:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <!-- Google map API v3 -->

<?php
$latitude = 'ip2location_latitude()'; //------------ IP latitude
$longitude = 'ip2location_longitude()'; //------------ IP latitude ip2location_longitude()
?>

<!-- Start loading canvas google map -->

<script type="text/javascript">
function loadmap () {
var latlng = new google.maps.LatLng($latitude,$longitude);
var option = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), option);
createMarker(latitude,logitude, 'lol');
downloadUrl("airport.xml", function(data) {
var xml = xmlParse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
document.getElementById("test").innerHTML = markers.length;
for (var i = 0; i < markers.length; i++) {
var info = markers[i].getAttribute("info");
var lat = parseFloat(markers[i].getAttribute("lat"));
var lon = parseFloat(markers[i].getAttribute("lng"));

createMarker(lat, lon, info);
bindInfoWindow(marker, map, infoWindow, html);
}
});
}
function createMarker(lat, lon, info){
var myLatlng = new google.maps.LatLng($latitude,$longitude);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"My location",
icon: "http://google-maps-icons.googlecode.com/files/airport.png"
});
}
</script>
<!-- End Geting map via latitude and longitude-->

<!-- Start calling load map function to load the map -->
<body onload="loadmap ()">
<div id="map_canvas" style="width:400px; height:300px"></div>
<div id="test" style="width:50%; height:50%"></div>
<!-- End calling load map function to load the map -->

最佳答案

您忘记使用 echo/print 来打印 PHP 变量的值。

在 createMarker 中,您应该引用提供的参数(lat,lon)而不是 $latitude/$longitude

修复版本:

<body onload="loadmap ()">
<script src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script src="http://www.iplocationtools.com/iplocationtools.js?key=YOURKEY">
</script>
<?php
$latitude = 'ip2location_latitude()'; //------------ IP latitude
$longitude = 'ip2location_longitude()'; //------------ IP latitude ip2location_longitude()
?>
<script type="text/javascript">
function loadmap () {
var latlng = new google.maps.LatLng(<?php echo $latitude;?>,<?php echo $longitude;?>);
var option = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), option);
createMarker(<?php echo $latitude;?>,<?php echo $longitude;?>, 'lol');

}
function createMarker(lat, lon, info){
var myLatlng = new google.maps.LatLng(lat,lon);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"My location",
icon: "http://google-maps-icons.googlecode.com/files/airport.png"
});
}
</script>
<div id="map_canvas" style="width:400px; height:300px"></div>
<div id="test" style="width:50%; height:50%"></div>
</body>

但是,这项服务不是很准确,对我来说它显示的位置距离我当前的位置 400 公里。我建议使用浏览器实现的地理定位。

关于java - 动态谷歌地图/纬度经度vars/php/java/var/basic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11017502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com