2016-02-11 5 views
0

Вот как это выглядит при открытии infoWindow. Как я могу поместить его в верхнем правом углу при открытии infoWindow и есть ли способ стилизовать его как чистый прямоугольник.Позиционирование infoWindow на карте Google

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); 

Пожалуйста, помогите.

+0

проверьте: https://developers.google.com/maps/documentation/javascript/infowindows – Microsmsm

+0

Спасибо Будет полезно –

+0

Использовать второй параметр (параметр 'anchor') для' open (map?: Map | StreetViewPanorama, anchor?: MVCObject) 'или установить положение InfoWindow. Просьба представить [Минимальный, полный, проверенный и читаемый пример] (http://stackoverflow.com/help/mcve), который демонстрирует проблему. – geocodezip

ответ

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); 
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); 

В принципе, вы можете получить границы карты, и у вас есть точки центра. Все, что вам нужно сделать, это вычислить новую позицию с использованием таких параметров.

Надеюсь, это поможет.