在Google地图上定位infoWindow

时间:2016-02-11 18:56:30

标签: javascript google-maps infowindow

这是打开infoWindow时的样子。打开infoWindow时如何将其置于右上角,是否可以将其设置为纯矩形。

screenshot of map

我的代码看起来像这样

 var getDirection = new google.maps.InfoWindow({
        content: ''

    });

var html ='<address><br>'+fromAddress+'</address><p>get directions from:</p><input id="from_Address" type="text" required><button id="go">Go</button><p><br><p id="error_msg" style="color:red;"></p><br>example: 121 belved Rd CA'
     getDirection.setContent(html);  
         getDirection.open(resultsMap);   

请帮忙。

2 个答案:

答案 0 :(得分:0)

使用第二个参数(锚参数)打开(map?:Map | StreetViewPanorama,anchor?:MVCObject)或设置InfoWindow的位置。

var html ='<address><br>'+fromAddress+'</address><p>get directions from:</p><input id="from_Address" type="text" required><button id="go">Go</button><p><br><p id="error_msg" style="color:red;"></p><br>example: 121 belved Rd CA'
getDirection.setContent(html);  
getDirection.open(resultsMap,marker); 

答案 1 :(得分:0)

遵循this solution的行,请参阅下面的代码示例:

var center = JSON.parse(JSON.stringify(map.getCenter()));
var boundaries = JSON.parse(JSON.stringify(map.getBounds()));
var newPosition = {lat: center.lat + Math.abs(boundaries.north - center.lat) / 2.75, lng: center.lng};
infoWindow.setContent('<strong>This infowindow should be located near the top, approx in the middle between the top point and the middle point.</strong>');
infoWindow.setPosition(newPosition);

基本上,你可以获得地图的边界,并且你有中心点。您所要做的就是使用这些参数计算新位置。

希望这有帮助。