`
hhyyllgg
  • 浏览: 27603 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ammap 使用及破解

阅读更多
  公司最近的项目上需要一个能在地图上显示各个基地的功能,首先想到的是用类似google baidu的地图api的方案,被老总以不够炫为由给否了。
 
    以前在项目中用过amchart,记得有一个孪生兄弟 ammap。基于对amchart的良好印象,遂决定用ammap。

   以下是部分代码

 <script type="text/javascript">
			var w=$("#rbody").width();
			var so = new SWFObject("${pageContext.request.contextPath}/static/chart/ammap.swf", "ammap", w, "600", "8", "#e5f5fd");
				so.addVariable("path", "${pageContext.request.contextPath}/static/chart/");
				so.addVariable("settings_file", escape("${pageContext.request.contextPath}/static/chart/countries.xml"));
				so.addVariable("data_file", escape("${pageContext.request.contextPath}/plan/createamMapXml"));
				so.write("flashcontent"); 
</script>

关键读取数据是createamMapXml这个方法


String createamMapXml(HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		SAXBuilder sb = new SAXBuilder();
		InputStream input = Thread.currentThread().getContextClassLoader()
				.getResourceAsStream("china.xml");
		Document doc = sb.build(input);
		String contextPath=request.getContextPath();
		Element map = doc.getRootElement();
		Element movies = new Element("movies");
		marketPriceService.createMap(contextPath, map, movies);
		String xmlStr = formatXml(doc);
//		System.out.println(xmlStr);
		response.setContentType("text/xml");
		return xmlStr;
}

public void createMap(String contextPath, Element map, Element movies) {
		List<Bases> list = basesService.getBasesByCurrentStateAndBases(0);
		Element areas=map.getChild("areas");
		List areaList=areas.getChildren("area");
		for (Iterator<Bases> iterator = list.iterator(); iterator.hasNext();) {
			Bases bases = (Bases) iterator.next();
//			System.out.println(bases.getRegion().getState());
			Element movie = new Element("movie");
			movie.setAttribute("title", bases.getName()==null?"": bases.getName());
			movie.setAttribute("file", "target");
			movie.setAttribute("color", "#FFBB77");
			movie.setAttribute("width", "10");
			movie.setAttribute("height", "10");
			
			movie.setAttribute("long", String.valueOf(bases.getLongitude()));
			movie.setAttribute("lat", String.valueOf(bases.getLatitude()));
			movie.setAttribute("url", 
					contextPath+ "/plan/planBaseQuery?baseId=" + bases.getId());
			movie.setAttribute("fixed_size", "true"); 
			movies.addContent(movie);
			for (Iterator iterator2 = areaList.iterator(); iterator2.hasNext();) {
				Element area = (Element) iterator2.next();
				String title=area.getAttribute("title").getValue();
				if(StringUtils.isNotBlank(title)&&bases.getRegion().getState().contains(area.getAttribute("title").getValue()))
					area.setAttribute("color","#55AA00");
			}
		}
		Element movie = new Element("movie");
		movie.setAttribute("title","北京");
		movie.setAttribute("file", "star.gif");
		movie.setAttribute("color", "#CC0000");
		movie.setAttribute("width", "15");
		movie.setAttribute("height", "15");
		movie.setAttribute("long", "116.235004");
		movie.setAttribute("lat", "40.4850468229644"); 
		movie.setAttribute("fixed_size", "true"); 
		movies.addContent(movie);
		map.addContent(movies);
	}

china.xml

<map map_file="china.swf" tl_long="73.620045" tl_lat="53.553745" br_long="134.768463" br_lat="18.168882" zoom="95%" zoom_x="3.72%" zoom_y="5%">
  <areas>
    <area mc_name="CN_34" title="安徽" zoom="466.1997%" zoom_x="-290.31%" zoom_y="-269.99%"/>
    <area mc_name="CN_11" title="北京" zoom="1339.0088%" zoom_x="-907.23%" zoom_y="-546.2%"/>
    <area mc_name="CN_50" title="重庆" zoom="661%" zoom_x="-321.46%" zoom_y="-426.93%"/>
    <area mc_name="CN_35" title="福建" zoom="570%" zoom_x="-371.74%" zoom_y="-422.11%"/>
    <area mc_name="CN_62" title="甘肃" zoom="328%" zoom_x="-99.85%" zoom_y="-126.55%"/>
    <area mc_name="CN_44" title="广东" zoom="661%" zoom_x="-387.57%" zoom_y="-541.67%"/>
    <area mc_name="CN_45" title="广西" zoom="431.9835%" zoom_x="-197.24%" zoom_y="-344.27%"/>
    <area mc_name="CN_52" title="贵州" zoom="661%" zoom_x="-308%" zoom_y="-483%"/>
    <area mc_name="CN_46" title="海南" zoom="1536%" zoom_x="-861.05%" zoom_y="-1463.21%"/>
    <area mc_name="CN_13" title="河北" zoom="661%" zoom_x="-420.56%" zoom_y="-224.5%"/>
    <area mc_name="CN_23" title="黑龙江" zoom="213.5378%" zoom_x="-138.47%" zoom_y="-0.13%"/>
    <area mc_name="CN_41" title="河南" zoom="596.3039%" zoom_x="-347.74%" zoom_y="-323.87%"/>
    <area mc_name="CN_91" title="香港" zoom="2000%" zoom_x="-1287.27%" zoom_y="-1771.35%"/>
    <area mc_name="CN_42" title="湖北" zoom="661%" zoom_x="-364.52%" zoom_y="-412.67%"/>
    <area mc_name="CN_43" title="湖南" zoom="561.0002%" zoom_x="-298.31%" zoom_y="-394.87%"/>
    <area mc_name="CN_15" title="内蒙古" zoom="169%" zoom_x="-57.44%" zoom_y="-12.88%"/>
    <area mc_name="CN_32" title="江苏" zoom="670%" zoom_x="-459.39%" zoom_y="-386.62%"/>
    <area mc_name="CN_36" title="江西" zoom="670%" zoom_x="-413.78%" zoom_y="-480.96%"/>
    <area mc_name="CN_22" title="吉林" zoom="470%" zoom_x="-352.64%" zoom_y="-114.03%"/>
    <area mc_name="CN_21" title="辽宁" zoom="565.7385%" zoom_x="-408.15%" zoom_y="-191.67%"/>
    <area mc_name="CN_92" title="澳门" zoom="661%" zoom_x="-428.53%" zoom_y="-246.17%"/>
    <area mc_name="CN_64" title="宁夏" zoom="757%" zoom_x="-357.92%" zoom_y="-338.77%"/>
    <area mc_name="CN_63" title="青海" zoom="461.4374%" zoom_x="-117.91%" zoom_y="-212.07%"/>
    <area mc_name="CN_61" title="陕西" zoom="461.4374%" zoom_x="-225.07%" zoom_y="-211.07%"/>
    <area mc_name="CN_37" title="山东" zoom="761.1344%" zoom_x="-508.99%" zoom_y="-367.03%"/>
    <area mc_name="CN_31" title="上海" zoom="2000%" zoom_x="-1525.75%" zoom_y="-1327.47%"/>
    <area mc_name="CN_14" title="山西"  zoom="462%" zoom_x="-245.21%" zoom_y="-195.04%"/>
    <area mc_name="CN_51" title="四川" zoom="364.3427%" zoom_x="-122.65%" zoom_y="-217.91%"/>
    <area mc_name="CN_12" title="天津" zoom="1683.576%" zoom_x="-1162.88%" zoom_y="-735.16%"/>
    <area mc_name="CN_54" title="西藏" zoom="245%" zoom_x="-11.59%" zoom_y="-124.76%"/>
    <area mc_name="CN_65" title="新疆" zoom="146.0037%" zoom_x="26.02%" zoom_y="-14.22%"/>
    <area mc_name="CN_53" title="云南" zoom="413.4326%" zoom_x="-140.39%" zoom_y="-306.15%"/>
    <area mc_name="CN_33" title="浙江" zoom="829.5282%" zoom_x="-588.25%" zoom_y="-568.46%"/>
    <area mc_name="TW" title="台湾" zoom="991.6529%" zoom_x="-719.43%" zoom_y="-819.77%"/>
    <area mc_name="borders" title="" color="#FFFFFF"/>
  </areas>
    <labels>
    <label long="84.947427" lat="42.4255522182285" text_size="12" color="#ADADAD" remain="true" >
      <text>新        疆</text>
    </label>
    <label long="93.664221" lat="35.9844221852234" text_size="12" color="#ADADAD" remain="true" >
      <text>青       海</text>
    </label>
    <label long="87.351449" lat="32.0448599653983" text_size="12" color="#ADADAD" remain="true" >
      <text>西       藏</text>
    </label>
    <label long="94.451443" lat="40.2213340878427" text_size="12" color="#ADADAD" remain="true" >
      <text>甘 肃</text>
    </label>
    <label long="102.503601" lat="40.7053671176742" text_size="12" color="#ADADAD" remain="true" >
      <text>内     蒙      古</text>
    </label>
    <label long="105.42382" lat="37.3192801788836" text_size="12" color="#ADADAD" remain="true" >
      <text>宁夏</text>
    </label>
    <label long="107.159457" lat="34.4963888002001" text_size="12" color="#ADADAD" remain="true" >
      <text>陕  西</text>
    </label>
    <label long="111.342981" lat="38.0728866718267" text_size="12" color="#ADADAD" remain="true" >
      <text>山 西</text>
    </label>
    <label long="114.2632" lat="38.6925749771918" text_size="12" color="#ADADAD" remain="true" >
      <text>河 北</text>
    </label>
    <label long="116.313726" lat="40.1379247682859" text_size="14" color="#ee0000" remain="true" >
      <text>北 京</text>
    </label>
    <label long="119.863724" lat="41.6601350846444" text_size="12" color="#ADADAD" remain="true" >
      <text>辽   宁</text>
    </label>
    <label long="123.81108" lat="44.3814182161181" text_size="12" color="#ADADAD" remain="true" >
      <text>吉  林</text>
    </label>
    <label long="124.838218" lat="47.4675971256227" text_size="12" color="#ADADAD" remain="true" >
      <text>黑  龙  江</text>
    </label>
    <label long="116.235004" lat="36.684938676849" text_size="12" color="#ADADAD" remain="true" >
      <text>山 东</text>
    </label>
    <label long="112.287647" lat="34.1014332163018" text_size="12" color="#ADADAD" remain="true" >
      <text>河 南</text>
    </label>
    <label long="110.394566" lat="31.6387174148497" text_size="12" color="#ADADAD" remain="true" >
      <text>湖 北</text>
    </label>
    <label long="106.289764" lat="30.0746786984768" text_size="12" color="#ADADAD" remain="true"  >
      <text>重 庆</text>
    </label>
    <label long="100.580529" lat="30.5783306607435" text_size="12" color="#ADADAD" remain="true" >
      <text>四   川</text>
    </label>
    <label long="99.111048" lat="24.8874581099438" text_size="12" color="#ADADAD" remain="true" >
      <text>云  南</text>
    </label>
    <label long="105.502542" lat="27.1538015125393" text_size="12" color="#ADADAD" remain="true" >
      <text>贵 州</text>
    </label>
    <label long="110.158399" lat="27.9248636108764" text_size="12" color="#ADADAD" remain="true" >
      <text>湖  南</text>
    </label>
    <label long="114.499367" lat="28.9016002459833" text_size="12" color="#ADADAD" remain="true" >
      <text>江 西</text>
    </label>
    <label long="116.156282" lat="31.6387174148497" text_size="12" color="#ADADAD" remain="true" >
      <text>安 徽</text>
    </label>
    <label long="118.049364" lat="33.9704099613927" text_size="12" color="#ADADAD" remain="true" >
      <text>江 苏</text>
    </label>
    <label long="121.524387" lat="31.1663917093303" text_size="12" color="#ADADAD" remain="true" >
      <text>上 海</text>
    </label> 
    <label long="118.68289" lat="29.3160185360148" text_size="12" color="#ADADAD" remain="true" >
      <text>浙 江</text>
    </label>
    <label long="117.104697" lat="26.4448121027352" text_size="12" color="#ADADAD" remain="true" >
      <text>福 建</text>
    </label>
    <label long="106.844569" lat="24.2987022240325" text_size="12" color="#ADADAD" remain="true" >
      <text>广 西</text>
    </label>
    <label long="112.36637" lat="23.7175422550551" text_size="12" color="#ADADAD" remain="true" >
      <text>广 东</text>
    </label>
    <label long="109.052539" lat="19.2954337299303" text_size="12" color="#ADADAD" remain="true" >
      <text>海 南</text>
    </label>
    <label long="120.418528" lat="23.8622173402318" text_size="12" color="#ADADAD" remain="true" >
      <text>台 湾</text>
    </label>
    <label long="117.18342" lat="39.0004249712802" text_size="12" color="#ADADAD" remain="true" >
      <text>天 津</text>
    </label>
  </labels>
  
   
</map>
到这里功能基本完成。。。

由于ammap和amchart一样是
This  software is free under a linkware license
存在一个ammap的logo链接

网上找了一下破解方法。。竟然没有现成的。只好自己动手 反编译amamp.swf


找到一个方法
function checkKey(serial)
{
    serial = com.ammap.Utils.stripSymbols(serial, " ");
    serial = com.ammap.Utils.stripSymbols(serial, "\n");
    serial = com.ammap.Utils.stripSymbols(serial, "\r");
    serial = com.ammap.Utils.stripSymbols(serial, "\r\n");
    arr = serial.split("-");
    if ((Number(arr[2]) + Number(arr[3]) == 8501 || Number(arr[2]) + Number(arr[3]) == 8801 || Number(arr[2]) + Number(arr[3]) == 8941) 
    && Number(arr[2].substr(1, 1)) - Number(arr[3].substr(2, 1)) == 5 
    || _url.split("/")[2].substr(-9) == "ammap.com")
    {
    }
    else
    {
        attachMovie("copyright_mc", "copyright_mc", 10001);
    } // end else if
} // End of the function

及这句话
if (key == undefined)
{
    key_loader.loadVars(path + "ammap_key.txt", this, "checkKey", false, "checkKey");
}


这也太容易破解了
在ammap所处的文件夹中新建一个ammap_key.txt文件
文件内容为
破-解-4960-3541-中国-lele

到此 大功告成!~~~
分享到:
评论

相关推荐

    ammap开源报表地图

    ammap开源报表地图 可以下了看看参考的

    ammap_3.21.15.free.zip

    SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形。SVG提供了3种类型的图形对象:矢量图形(vectorgraphicshape例如:由直线和曲线组成的路径)、图象(image)、文本(text)。图形对象还可进行分组、添加...

    ammap地图插件,js包地图插件,js包

    ammap地图插件,js包地图插件,js包

    ammap-开源

    如果您想显示您的旅程路线,显示办公室或其他景点的位置,则此工具非常适合您。 您也可以将其用作“热点”软件。 使用Flash,php,mysql。

    amcharts-ammap-iran-map:伊朗的 SVG 和 JS(JSON 格式)地图 - 包含在 ammap.com 中的高

    amcharts-ammap-伊朗地图 伊朗的 SVG 和 JS(JSON 格式)地图 - 包含在 ammap.com 中的高感谢免费提供 codepen 我只是将其转换为 ammap 格式。 ###USAGE 有关更多信息和使用的完整指南:

    js的相关包

    这是js相关包,希望喜欢JS的亲们会喜欢

    react-amchart-basic

    ##React Amchart 基础类安装 npm install用法 gulp执照(麻省理工学院许可证)

    RAMMap.exe

    ammap是一款物理内存检测工具。rammap可以通过不同的方式在不同的标签里将系统中的各种物理内存分配情况详细检测并显示出来,然后通过指定的方式对不同区域内的物理内存进行清理,有效地减少系统运行负荷

    JavaScript Maps试用版:一款强大的交互式地JavaScriptHTML5地图控件

    JavaScript Maps是amCharts旗下的地图控件,所以又可称为"amMap"。它可以轻松添加交互式地图到Web页面和基于JavaScript 的应用程序。可以用JavaScript Maps显示办公室的位置,旅行线路,创建自己的经销商线路等。...

Global site tag (gtag.js) - Google Analytics