function showabc()
{
$.get("json/abcd.ashx?type=get&d ="+new Date(),function(d){
var data=eval('('+d+')').list;
for(var i=0,l=data.length;i<l;i++)
{
var opts={ lat:data[i].lat,
lon:data[i].lon,
title:data[i].title,
id:data[i].id,
userid:data[i].userid
}
var x = opts.lon;
var y = opts.lat;
var ggPoint = new BMap.Point(x,y);
BMap.Convertor.translate(ggPoint,2,translateCallback);
}
})
}
translateCallback = function (point){
var myIcon = new BMap.Icon( "images/biaozhu.jpg",new BMap.Size(14, 24),
{
anchor : new BMap.Size(13, 13)
});
var er = new BMap.Marker(new BMap.Point(point.lng,point.lat), {icon:myIcon});
utexttName =new BMap.Label("标注:"+title,{offset: new BMap.Size(14, 3) });
utexttName.setStyle({borderColor:"#ADAEAC",color:"#993300",backgroundColor:"#FFFFD7"});
er.setLabel(utexttName);
map.addOverlay(er);
}我现在想让 红色的这个title能得到上面那个方法的title值 该如何呢?
{
$.get("json/abcd.ashx?type=get&d ="+new Date(),function(d){
var data=eval('('+d+')').list;
for(var i=0,l=data.length;i<l;i++)
{
var opts={ lat:data[i].lat,
lon:data[i].lon,
title:data[i].title,
id:data[i].id,
userid:data[i].userid
}
var x = opts.lon;
var y = opts.lat;
var ggPoint = new BMap.Point(x,y);
BMap.Convertor.translate(ggPoint,2,translateCallback);
}
})
}
translateCallback = function (point){
var myIcon = new BMap.Icon( "images/biaozhu.jpg",new BMap.Size(14, 24),
{
anchor : new BMap.Size(13, 13)
});
var er = new BMap.Marker(new BMap.Point(point.lng,point.lat), {icon:myIcon});
utexttName =new BMap.Label("标注:"+title,{offset: new BMap.Size(14, 3) });
utexttName.setStyle({borderColor:"#ADAEAC",color:"#993300",backgroundColor:"#FFFFD7"});
er.setLabel(utexttName);
map.addOverlay(er);
}我现在想让 红色的这个title能得到上面那个方法的title值 该如何呢?
解决方案 »
- 语法写错了吗?为什么不起作用?
- xx"x\"x"xx如何用正则匹配到"x\"x"
- 增加输入框的问题,在线问
- window.show.innerHTML是什么意思
- 最后几分了,大家帮忙啊能不能用JAVASCRIPT写出一个类似于DELPHI中dialog的对话框
- 是不是 javascript 的漏洞?怎么解释呀?
- opener的使用方法!!
- 百分紧急求助!如何将内嵌在html中的javascript程序转换成其他语言,比如c或delphi
- knockoutjs如何监控数组中对象的属性变更
- 单击事件被自动执行
- 请问Arguments对象
- 如下的JS IE下能使用,google、火狐下面却不能使用。
utexttName =new BMap.Label("标注:"+point,{offset: new BMap.Size(14, 3) }); 试试
这样 我发现 原本 我写的BMap.Convertor.translate(ggPoint,2,translateCallback)这样传,ggpoint值是会变的 我要的就是会变的,但是如果BMap.Convertor.translate(ggPoint,2,translateCallback(ggpoint,opts.title));
这样虽然 ggpoint传过去了 但是 值不会变
{
var opts={ lat:data[i].lat,
lon:data[i].lon,
title:data[i].title,
id:data[i].id,
userid:data[i].userid
}
var x = opts.lon;
var y = opts.lat;
var ggPoint = new BMap.Point(x,y);
BMap.Convertor.translate(ggPoint,2,translateCallback);
}BMap.Convertor.translate()这是什么方法?而且你写在一个循环里。。循环每执行一次就会传一次ggPoint过去。。除非ggPoint这个值是固定的。。你可以跟踪下
,ggpoint不会是固定的,我断点过 发现执行到BMap.Convertor.translate(ggPoint,2,translateCallback);并不会跳进这个方法,而是等第一个方法都结束了后,才会进
translateCallback,然后我看调试发现,translateCallback保存了前面循环的所有point并且已经转换好,我现在就是无法做到把title也传过去,一旦传过去了,point仍旧是谷歌的了,不会变成百度的
比如var title=opts.title;就可以了
function TranslateCallback(title)
{
this.translateCallbackNomalMarker = function (point)
{
translateCallbackNomalMarker(title,point);
}
}
function translateCallbackNomalMarker(, point)
{
//回调实现
}
function TranslateCallback(title)
{
this.translateCallbackNomalMarker = function (point)
{
translateCallbackNomalMarker(title,point);
}
}
function translateCallbackNomalMarker(title, point)
{
//回调实现
}