Java调用高德API

需求

java后台异步传查询数据库中的多个地区经纬度,地图动态展示出来。

数据

Java调用高德API_第1张图片

代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %>



    
    
    智新年票综合管理系统
    
    
    
    


地图展示

效果展示

Java调用高德API_第2张图片

问题汇总

js数组循环赋值

 markers.push

ajax无法给全局变量赋值

在ajax中是无法给js中的全局变量赋值的,因为ajax默认是异步请求(当要赋值时,此时的值没有拿到,所以赋值不成功)。例如:


function test(){
  var result=0;
  $.ajax({  
type: "POST",  
url: "ajax/checkfor1.php?action=reg_checkEmail",          
data: {email:email},   
dataType: 'text',     
success: function(data){                                                      
results=data;  
},  
error: function() {     
               alert("异常!");    
      }    
});
}
 

执行时会发现赋不进去值

解决办法1:将ajax请求设置为同步请求


function test(){
  var result=0;
  $.ajax({  
type: "POST",  
url: "ajax/checkfor1.php?action=reg_checkEmail",          
data: {email:email},   
dataType: 'text',     
      async: false, //设置为同步请求
success: function(data){                                                      
results=data;  
},  
error: function() {     
               alert("异常!");    
      }    
});
}

解决办法2:不使用js全局变量存数据而是用隐藏的html标签存数据


function test(){
  var result=0;
  $.ajax({  
type: "POST",  
url: "ajax/checkfor1.php?action=reg_checkEmail",          
data: {email:email},   
dataType: 'text',     
success: function(data){                                                      
              $('#datastore').append('
');//使用一个div标签,定义一个自定义属性data来存储数据 }, error: function() { alert("异常!"); } }); }

加载多个markers无法显示图标

Java调用高德API_第3张图片
大量图标应采用加载海量点API
https://lbs.amap.com/api/javascript-api/example/marker/massmarks
Java调用高德API_第4张图片

自动添加点击事件

 $(document).ready(function(){
        // $("#setFitView").load("");//load加载
        document.getElementById('setFitView').click();
    });

参考:
https://lbs.amap.com/api/javascript-api/example/marker/adaptive-show-multiple-markers

推荐阅读
>>清欢的博客
>>学习交流或获取更多资料欢迎加入QQ群:874514813

你可能感兴趣的:(记录)