日期:2014-05-16  浏览次数:20398 次

关于百度地图 的问题
两个问题:百度地图Javascript版API开发。
1.有个右键菜单功能,点击设置起终点。如果右键设置好起点和终点,不能修改,需要选取驾车方案后,才可以再设置,且设置的过程中,地图上保留上次查询的结果。因为代码中判断有起点和终点标注后,菜单函数部分就不操作了,来由自定义的控件来操作;另外,如果没有选择完起点和终点,是可以再选择起点或终点,也可以清除重复的起点或终点。这样设计的主要原因,现在不能够在代码中指定清除驾车查询结果或标注,它们需要传递参数,这个参数是上次的标注对象,所以现在不知道怎么解决这个问题,驾车查询结果要指定清除,需要指定上次查询结果的DrivingRoute对象,所以也没有解决。所以采用的都是清除地图上所有的标注。所以我想指定清除上次标注,不是全部清除,改怎么做?
2.这个代码是直接以html运行的,右键菜单设置完起终点后,再选择驾车方案,地图上出现结果后,是可以再选择起终点的,但是我放到flex客户端项目AIR运行(flex调用本地html文件),右键菜单设置完起终点后,再选择驾车方案,地图上出现结果后,这是右键菜单功能就不能用了,右击没反应,为什么?以上所说的起终点都是右键菜单的,不是搜索栏中的设置,下面是全部代码,图片就不传了。
MXML代码:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
   xmlns:s="library://ns.adobe.com/flex/spark"
   xmlns:mx="library://ns.adobe.com/flex/mx"
   minWidth="1100" minHeight="600">
<fx:Script>
<![CDATA[
import flash.external.ExternalInterface;
protected function initli():void{
var url:String = "C:/Users/Administrator/Adobe Flash Builder 4.6/BaiduMapJsAIR/src/BaiduMapJsAIR.html";
web.location=url;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<mx:HTML id="web" width="100%" height="100%"/>
<mx:Button id="button" x="8" y="10" label="打开地图" click="initli()"/>
</s:WindowedApplication>


html代码:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<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: 93.8%;
width: 100%
}
</style>
<!-- 加载新浪检测用户位置IP API -->
<script
src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"
type="text/javascript"></script>
<!--加载百度地图API JS库-->
<script type="text/javascript"
src="http://api.map.baidu.com/api?v=1.5&ak=4095d36deb0128e339ec5c9e2c533a21&services=true"></script>
<!-- 加载百度地图鼠标绘图工具类库-->
<script type="text/javascript"
src="http://api.map.baidu.com/library/DistanceTool/1.2/src/DistanceTool_min.js"></script>
<script type="text/javascript">
var e1;
var e2;
var startSelect = false;