2016-08-04 99 views
-1

请帮助我,我有一个关于谷歌地图API的一些疑问谷歌地图:获取地图的中心点关于地图的div在HTML

敬请关注3点第一

  1. 是否有可能得到在HTML中的地图div的地图中心点(比如我的地图div是100px高度和100px宽度,然后我得到的中心点纬度为50,50px),我使用map.getCenter();但它给出了地图中心点
  2. 是否有可能在zoom_changed事件我的标记不筛选在浏览器屏幕上它改变了相对于zoom_changed事件的位置并保持相同的浏览器屏幕?

例如,对于点第二

最初我有标记上伦敦 enter image description here

设置地图但是,当我放大然后 enter image description here

  • 我可以获得坐标(纬度长)在地图上的净图像位置 enter image description here
  • 如果有任何建议和溶液请回复

    +0

    我不明白点的要求' 2'。点'1'也没有任何意义,你的'div'本质上就是地图的容器。所以当你在寻找容器的中心位置时......我不知道你的意思。对我而言,如果你正在寻找一组标记的中心点或其他东西,那将会更有意义。 –

    +0

    @Samuel Toh请参阅更新后的文章 – Tarzan

    +0

    如果您正在查看移动标记的位置,则必须在发生缩放事件时相应地更新其LatLng坐标。至于多少?您定义了金额。小心分享为什么要在缩放时移动标记?因为你正在执行一个非常不寻常的行为。 –

    回答

    0

    1)HTML DIV的中心点,以及映射表的将是相同的。如果地图div的高度为100px,宽度为100px,那么使用相同的示例,那么center lat long应该是50,50px,这正是map.getCenter()返回的内容。

    2)是的,您可以使用缩放更改事件将标记移动到地图中心。您将需要调用initZoomChanged方法,如下所示。你可以用标记的名字替换“centerMarker”

    3)还没有真正理解你在这里做什么。你能否提供更多的澄清?

    在地图中心创建一个标记,然后在放大后保持它在地图的中心或缩小的代码如下:

    var centerMarker; 
    
    function createMarker() 
    { 
        var myLatLng = {lat: 51.5074, lng: 0.1278} 
        centerMarker = new google.maps.Marker({ 
         position: myLatLng, 
         map: map, 
         title: 'Map Center' 
         }); 
    } 
    
    function initZoomChanged() 
    { 
        google.maps.event.addListener(map, 'zoom_changed', function() { 
         var center = map.getCenter(); 
         centerMarker.setPosition(center); 
        }); 
    } 
    
    +0

    感谢您的回复,第三点净图像放置在地图上,我希望通过净图像的覆盖地图区域的坐标 – Tarzan

    +0

    将净图像添加为覆盖图吗? – Joyson

    +0

    我做了一个div conataing净图像,我把这个图像通过CSS地图上 – Tarzan