【发布时间】:2013-04-09 17:24:06
【问题描述】:
我想使用asp.net c#在我的网站上的谷歌地图上显示用户当前位置或大致位置。这可能吗?如果是请帮助我。我看了很多教程但都失败了。
【问题讨论】:
标签: asp.net google-maps compass-geolocation ip-geolocation
我想使用asp.net c#在我的网站上的谷歌地图上显示用户当前位置或大致位置。这可能吗?如果是请帮助我。我看了很多教程但都失败了。
【问题讨论】:
标签: asp.net google-maps compass-geolocation ip-geolocation
首先您需要为您的本地主机获取 google maps API 密钥,此链接提供了有关如何执行此操作的详细信息: http://www.aspdotnet-suresh.com/2013/01/generate-google-maps-api-key-for.html
第二在您的 default.aspx 页面中执行以下操作:
脚本标签:
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyC6v5-2uaq_wusHDktM9ILcqIrlPtnZgEk&sensor=false">
</script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places">
</script>
<script type="text/javascript">
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success);
} else {
alert("Geo Location is not supported on your current browser!");
}
function success(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
var city=position.coords.locality;
var myLatlng = new google.maps.LatLng(lat, long);
var myOptions = {
center: myLatlng,
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker = new google.maps.Marker({
position: myLatlng,
title: "lat: " + lat + " long: " + long
});
marker.setMap(map);
var infowindow = new google.maps.InfoWindow({ content: "<b>User Address</b><br/> Latitude:"+lat+"<br /> Longitude:"+long+"" });
infowindow.open(map, marker);
}
</script>
在body标签中只包含一个空的div:
<div id="map_canvas" style="width: 800px; height: 500px"></div>
css:
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map_canvas { height: 100% }
这是您应该得到的结果:
教程: http://www.aspdotnet-suresh.com/2013/01/show-user-current-location-on-google.html
【讨论】: