可实现右键点位
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Hello, world</title>
<style type="text/css">
html { height:100% }
body { height:100%; margin:0px; padding:0px }
#container { height:90%;width:90%; padding-left:10px }
</style>
<script type="text/javascript" src="http://api.amap.com/webapi/init?v=1.1"> </script>
<script type="text/javascript">
var $ = function(id){
return document.getElementById(id);
}
var decode = function(lnglat){
if (lnglat.indexOf(',') == -1)
{
alert("经纬度格式错误");
return {
lng: 0 ,
lat: 0
}
}else{
var s = lnglat.split(',');
return {
lng: s[0],
lat: s[1]
}
}
}
function lnglatQuery() {
$("container").innerText = "";
var lnglat = $("lnglat").value.trim();
var lng = decode(lnglat).lng;
var lat = decode(lnglat).lat;
var mapObj = new AMap.Map("container"); // 创建地图实例
mapObj.plugin(["AMap.ToolBar","AMap.OverView,AMap.Scale"], function() {
// 加载工具条
tool = new AMap.ToolBar({
direction: true, // 隐藏方向导航
ruler: false, // 隐藏视野级别控制尺
autoPosition: false // 禁止自动定位
});
mapObj.addControl(tool);
});
var marker = new AMap.Marker({
id:"m",
position: new AMap.LngLat(lng,lat),
offset: new AMap.Pixel(0,0),
icon: "http://api.amap.com/webapi/static/Images/marker_sprite.png"
});
//设置可以拖拽
marker.setDraggable(true);
//绑定marker拖拽事件
mapObj.bind(marker,"dragend",function(e){
$("lnglat").value = e.lnglat;
});
mapObj.addOverlays(marker );
mapObj.bind(mapObj,"rightclick",function(e){
var lnglat = e.lnglat;
marker.setPosition(lnglat);
$("lnglat").value = lnglat;
});
// 自定义构造AMap.Marker对象
var point = new AMap.LngLat(lng,lat); // 创建点坐标
mapObj.setCenter(point); // 设置地图中心点坐标
}
var geocoderOption = {
range:300, // 范围
crossnum:2, // 道路交叉口数
roadnum :3, // 路线记录数
poinum:1 // POI点数
};
var geocoder = new AMap.Geocoder(geocoderOption);
function mechantQuery(){
var address = $('uname').value;
geocoder.geocode(address,function(data){
var lng = data.list[0].x;
var lat = data.list[0].y;
$("lnglat").value = lng+"," + lat;
lnglatQuery();
});
}
</script>
</head>
<body>
<p>
商户名称:<input type="text" name="uname" id="uname" value="北京中关村" size="40" /> <input type="button" name="btn_uname" value="查询" onclick="mechantQuery()"/>
经纬度:<input type="text" name="lnglat" id="lnglat" value="116.404, 39.915" size="40" /> <input type="button" name="btn_lat_lng" value="查询" onclick="lnglatQuery()" />
</p>
<div id="container"></div>
</body>
</html>
分享到:
相关推荐
`AMap_Android_API_Location_Demo`展示了如何在Android平台上使用高德地图SDK进行定位。高德地图API提供了强大的定位服务,包括单次定位、连续定位和室内定位等多种模式。通过设置监听器,开发者可以实时获取到用户...
**高德地图API试用详解** ...在`AMapTest`这个项目中,我们可以看到相关的示例代码或者测试用例,这对于学习和理解高德地图API的使用非常有帮助。通过阅读和运行这些代码,可以加深对API功能的理解,提高开发效率。
在Android开发中,集成高德地图API来实现地图定位与路线规划是一项常见的需求。下面将详细阐述这个项目功能模块的实现细节以及相关的技术知识点。 **一、地图定位** 1. **初始化地图**: 首先,你需要在...
1. 地图API:可能使用了如Google Maps API、高德地图API或百度地图API等,用于获取地图数据和地理位置服务。 2. JavaScript或Python:这两种语言常用于开发Web或服务器端的地图应用。 3. 前端框架:如React、Vue.js...
这个项目可能是一个开发者为了展示或教学如何在移动应用中集成高德地图API,实现定位、导航以及打卡功能而创建的。高德地图是领先的数字地图、导航和位置服务提供商,为用户提供实时交通信息、路线规划、导航以及...
4. **地理编码**:为了获取更精确的位置信息,如经纬度坐标,可以使用第三方地理编码服务,如高德地图、百度地图或谷歌地图的API。你需要注册并获取API密钥,然后发送HTTP请求,解析返回的JSON数据: ```php $...
从文件名可以推断,这个项目与高德地图(AMap)的聚簇库有关,用于在地图上高效地显示大量点数据。聚类是在地图上处理大量标记或图层时常用的一种技术,它将相近位置的点合并成一个单一的表示,以提高视觉效果和性能...
4. **API接口**:为了获取地图数据或提供服务,Mapitor可能调用了第三方地图服务的API,如Google Maps API、高德地图API或OpenStreetMap Nominatim API等。 5. **版本控制**:作为源码,Mapitor很可能在Git这样的...
3. **地图数据**:高精度的世博园地理信息,可能来源于开源地图服务(如OpenStreetMap)或者商业地图提供商(如Google Maps、高德地图)。 4. **文档**:设计报告、需求分析、系统架构、用户手册等,详细解释系统的...
2. **地图导航**:地图导航是软件的核心功能,通过集成地图服务,如高德、百度或谷歌地图,获取实时交通数据并计算最优路线。本项目可能采用了OpenStreetMap或其他开源地图数据,通过网络请求获取地图信息并显示。 ...