`

Google map中自定义label和icon的解决方案

    博客分类:
  • Flex
阅读更多

  在Google Flash API for map的当前版本(1.9)中,是不支持同时使用自定义label和自定义icon的,但是项目中又必须同时使用这两个东西,为什么google earth和google earth plugin中可以显示呢?苦思多日不得解,今天突发奇想,如果api不提供,就用一个山寨点的方法呗。

    具体问题是这样的:

         google中无法同时显示自定义icon和label,如果非得这么做,就要用自定义的sprite,但是产生的问题是,这个自定义的sprite会产生较大的偏移,在普通的应用中可能还看不出来,但是在我们的项目中,由于该点是显示在道路上的,因此产生的偏移会非常明显,而使用自定义icon,则不会有偏移。

   解决方案:

      画两个点(marker),第一个点使用自定义icon,因此图标会非常正确的现实在道路上;第二个点则用来显示自定义label,就是找一个只有一个像素的图片,和文字同时画在map上,由于一个像素的点在地图上是不可见的,所以就只剩下文字信息在地图显示了;另外,这个点是不能够和第一个点重合,所以还要在第一个点的坐标的基础上加一些偏移,我使用的偏移是0.00000000000001,这个偏移量在map上刚刚偏移一点点,所以感觉上第二个点的文字刚好是第一个点的注释,整体看起来是一致的。

   感慨:

      技术不是万能的,在思考时往往要摆脱具体的技术方法来想怎么解决问题。简单说,解决问题是最重要的,在用一种方法解决不了时,千万不要钻牛角尖,或许可以从另一个方向入手,尽管可能不太符合常规,‘山寨’气息浓重,但是,只要能解决问题就ok了

分享到:
评论
2 楼 jie66989 2012-11-24  
学习了,就说怎么不显示自定义的图片
1 楼 bonbonfat-Zoe 2011-10-12  
原来是因为不可以同时自定义icon和label 郁闷了我好久~
谢谢lz!顶你关于条条大路通罗马的论调~

相关推荐

Global site tag (gtag.js) - Google Analytics