0

我正在尝试使用一个简单的下拉/选择列表作为标记的控制器(想法是地图将显示选定的位置/标记)。DomListener 可以处理 onchange 事件,但由于某种原因,标记没有出现。我需要使用另一个事件侦听器,还是以其他方式创建标记?

    var map = null;

function initialize() {
var myOptions = {
      zoom: 5 ... etc };
var map = new google.maps.Map(document.getElementById('map_canvas'),
        myOptions);
...

 google.maps.event.addDomListener(document.getElementById('SelectList'), 
            'change', function() {

var mypos = document.getElementById('SelectList').value;




alert(mypos); /* output/value is correct */


/* This code doesn’t display marker */
var marker = new google.maps.Marker({
        position: mypos, 
        map: map,
        title:"Hello World!"
    });



     });

...
}
------------------------
My HTML select-list:
<select id="SelectList">
<option value="12.123456, 12.987654">location 1</option>
<option value="11.123456, 12.987654">Location 2</option>
</select>
4

1 回答 1

3

您正在为该位置创建一个用逗号分隔的字符串的标记。它必须是一个 LatLng 对象。尝试类似:

var marker = new google.maps.Marker({
    position: new google.maps.LatLng(mypos.split(',')[0], mypos.split(',')[1]),
    map: map,
    title:"Hello World!"
});
于 2012-07-12T13:18:04.260 回答