1、根据地址找经纬度/修改经纬度

marker.setPosition(result.geocodes[0].location);
map.setCenter(marker.getPosition())

2、根据经纬度找地址

3、 根据当前IP获取城市

function initLocationCity() {

    //实例化城市查询类
var citysearch = new AMap.CitySearch();
//自动获取用户IP,返回当前城市
citysearch.getLocalCity(function (status, result) {
if (status === 'complete' && result.info === 'OK') {
if (result && result.city && result.bounds) {
var cityinfo = result.city;
var citybounds = result.bounds;
document.getElementById('txtCity').value = cityinfo;
var ipCity = cityinfo.replace("市", "");
$(".cityList ul a").each(function () {
if ($(this).text().indexOf(ipCity) != -) {
$("#hidShopAreaId").val($(this).attr("data-content"));
loadCityXY();
searchShopList();
}
}); //地图显示当前城市
mapObj.setBounds(citybounds);
}
} else {
document.getElementById('txtCity').value = result.info;
}
});
}

4、

 $.ajaxRequest({
url: "接口路径",
onRequest: function (param) {
参数
},
onResponse: function (result) {
mapObj.clearMap();
$(result).each(function (i) { marker = new AMap.Marker({
position: [item.Longitude, item.Latitude],
icon: new AMap.Icon({
size: new AMap.Size(, ),
image: "/Static/Web/Images/Shop/markerIcon.png", // 覆盖标注的图标
imageOffset: new AMap.Pixel(, ) //相对于大图的取图位置 })
});
marker.setLabel({ // 设置数字
offset: new AMap.Pixel(, ),
content: (parseInt(i) + )
}); marker.on('click', function () {
// 点击当前标注,清除在这之前已生成过的覆盖标注,定义不同的overMark避免和marker冲突 if (overMarker) {
mapObj.remove(overMarker);
}; overMarker = new AMap.Marker({ //添加自定义点标记
map: mapObj,
position: [item.Longitude, item.Latitude], //基点位置
offset: new AMap.Pixel(-, -), //相对于基点的偏移位置
zIndex: ,
content: '覆盖内容’ //自定义点标记覆盖物内容
});
overMarker.setMap(mapObj);
mapObj.setZoomAndCenter(, [item.Longitude, item.Latitude]);// 定位后再缩放 });
marker.setMap(mapObj); }); mapObj.setFitView();
return result;
} });

5、循环遍历标注并自定义infoWindow窗口(自定义点标注,缩放地图比例,给标注添加点击事件并更改标注图标) 5、添加新标注,修改标注(覆盖物)

添加新标注:

    marker = new AMap.Marker({
icon: "http://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
position: [116.41, 39.91]
});
marker.setMap(map);

覆盖物:会替换掉原来的标注

function updateMarker() {
// 自定义点标记内容
var markerContent = document.createElement("div"); // 点标记中的图标
var markerImg = document.createElement("img");
markerImg.className = "markerlnglat";
markerImg.src = "http://webapi.amap.com/theme/v1.3/markers/n/mark_r.png";
markerContent.appendChild(markerImg); // 点标记中的文本
var markerSpan = document.createElement("span");
markerSpan.className = 'marker';
markerSpan.innerHTML = "Hi,我换新装备啦!";
markerContent.appendChild(markerSpan); marker.setContent(markerContent); //更新点标记内容
marker.setPosition([116.39, 39.93]); //更新点标记位置
}

6、根据经纬度初始化地图,并且要让地图比例放大

解决方法:

在定位完成map.setFitView();方法后设置 map.setZoomAndCenter(28, [Y,X]);// 缩放比例,经度 纬度 即可

最新文章

  1. input[tyle="file"]样式修改及上传文件名显示
  2. 数据结构图文解析之:树的简介及二叉排序树C++模板实现.
  3. CentOS7下Apache及Tomcat开启SSL
  4. DOM之parentNode与offsetParent
  5. java的nio之:java的nio的服务器实现模型
  6. java web session监听销毁跳转
  7. SQL SERVER格式化字符串位数,不足补零
  8. POJ 1947 - Rebuilding Roads 树型DP(泛化背包转移)..
  9. vbs文件共享变量与函数的方法
  10. 信息检索中的TF/IDF概念与算法的解释
  11. Map Labeler POJ - 2296(2 - sat 具体关系建边)
  12. VS2015 C#调用C++ 托管代码无法调试问题排查
  13. POJ 2405
  14. 第13章 GPIO—位带操作
  15. 7.1 服务暴露前的准备-ServiceBean的装配
  16. achartengine(Google给android提供的画图工具包)的介绍和使用
  17. ACM ICPC, Damascus University Collegiate Programming Contest(2018) Solution
  18. Linux下程序的机器级表示学习心得
  19. angularjs控制器之间的数据共享与通信
  20. Vim技能修炼教程(14) - 写个ex命令吧

热门文章

  1. spring学习笔记(六)
  2. VirtualBox 調整硬盤大小
  3. 安卓开发之玩美解决ADT和SDK不一致问题
  4. xilinx平台DDR3设计教程之仿真篇_中文版教程
  5. HNU 13411 Reverse a Road II(最大流+BFS)经典
  6. 21. Merge Two Sorted Lists【easy】
  7. [转]MVC设计模式
  8. iOS开发之Auto Layout入门(转)
  9. centos IP 配置 和 克隆的centos解决上网问题
  10. Spring Java-based容器配置(二)