首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

请问。关于Google 地图 V3 开发的有关问题!需解决!

2012-12-30 
请教。关于Google map V3 开发的问题!!!急需解决!!!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transiti

请教。关于Google map V3 开发的问题!!!急需解决!!


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title></title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&language=zh_CN"></script>
<script type="text/javascript">
var map;
var icon;
var point;
var marker;
var i = 0;
var latlngArray = new Array();
var LineArray;
var myLatlng;
var flightPath;
var polylinesArray = [];
var tmp;
function ini_load()
{
myLatlng = new google.maps.LatLng(22.541487,114.073893);
var Options=
{
zoom: 15,
center: myLatlng,
mapTypeControl:true,
maptypeControlOptions:{style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},
NavigationControl:true,
NavigationControlOptions:{style:google.maps.NavigationControlStyle.DEFAULT},
disableDoubleClickZoom:true,
scrollwheel:false,
noClear:false,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
map=new google.maps.Map(document.getElementById("map_canvas"),Options);
marker = new google.maps.Marker({position: myLatlng, map: map});
}
function InitData(lat,lng)
{
point=new google.maps.LatLng(lat,lng);
latlngArray.push(point);
marker.setMap(null);
map.panTo(point);
marker.setPosition(point);
marker = new google.maps.Marker({position: point, map: this.map});
var myOptions = { 
path: latlngArray,
strokeColor: "#FF0000",
strokeOpacity: 1.0, 
strokeWeight: 2};
flightPath = new google.maps.Polyline(myOptions);
if(latlngArray.length>1)
{
//clearLine(); //在这里加载清理折线,程序就出错。
flightPath.setMap(map);
polylinesArray.push(flightPath);
}
}
function clearLine() //清理折线
{
if(polylinesArray)
{
for(i in polylinesArray)
{
polylinesArray[i].setMap[null];
}
polylinesArray = [];
}
}
function addDiv()
{
var time = setTimeout(addDiv,2000);
var message ="22.541487:118.073339";
//alert(message);
InitData(22.541487,113.073339+i*0.001);
i++;
if(i>10)
{
window.clearTimeout(time);
}
}
</script>
</head>
<body onload="ini_load()">
<div id="map_canvas" style="width: 500px; height: 300px"></div> 
<input id ="Button1" type="button" value="AddDiv" onclick="javascript:addDiv();" />
<input id ="Button2" type="button" value="Clear" onclick="javascript:clearLine();" />
</body>
</html>


以上代码复制保存成 *.htm就可以正常运行了!!

以上代码:所做的功能就是,根据时间来绘制折线。。绘制完折线后,然后在清理掉折线。。。

http://blog.csdn.net/QQ58758/archive/2011/03/23/6270305.aspx 本人参考的是这个bolg代码写。。。
但是清理折线的效果没有出来,请大家看看,到底那里出错了!!谢谢!

问题:1.绘制完折线如何,清理掉已绘制的折线。

2。如何在Google map上的一个GPS坐标点,写一段文字。。就是在地图上的一个坐标位置,写一段文字。。
   例如:LatLng(22.541487,113.073339),这个坐标显示 “CSDN”这几个字。

QQ:383156647 欢迎大家交流学习。。急需大侠们解决!!谢谢!!




------解决方案--------------------


var path ;
var poly; 

//加载地图的时候 执行下这个 

var polyOptions = {
            strokeColor: '#FF0000',
            strokeOpacity: 1.0,
            strokeWeight: 2
        }
        poly = new google.maps.Polyline(polyOptions);
        poly.setMap(map);
//清除线是这个指令 
 function clear() {
     var path = poly.getPath();
        for (j = 0; j < 10; j++) {
            for (i = poly.getPath().length; i >= 0; i--) {
                path.removeAt(i);
            }        
        return true; //清理完毕返回true
     }

function addLatLng(y,x,y1,x1) {
           path = poly.getPath(); 
            var lat = parseFloat(y1);
            var lng = parseFloat(x1);
            var latlng = new google.maps.LatLng(lat, lng);    //根据经纬度创建LatLng
           
          //  if (markersArray) {
          //      for (i in markersArray) {
          //          markersArray[i].setMap(null);
          //      }
          //      markersArray.length = 0;
          //  }
          //  marker = new google.maps.Marker({   //添加标记
          //      position: latlng,
           //     title: '标题',
            //    map: map
           // });
            //markersArray.push(marker);
            path.push(latlng);
            // Add a new marker at the new plotted point on the polyline.
            map.setCenter(latlng);  
}

QQ68778808 有啥不会的问我吧 

热点排行