Javascript 单击谷歌地图时添加标记

Javascript 单击谷歌地图时添加标记,javascript,php,google-maps,gis,Javascript,Php,Google Maps,Gis,我制作了一个包含谷歌地图的php页面。我的目标是在用户单击地图时添加一个标记,并在文本框中显示标记的坐标。以下是我的javascript: <script type="text/javascript"> function tampil_peta() { var div_peta = document.getElementById('kanvas'); var tengah = new google.map

我制作了一个包含谷歌地图的php页面。我的目标是在用户单击地图时添加一个标记,并在文本框中显示标记的坐标。以下是我的javascript:

<script type="text/javascript">
        function tampil_peta()
        {
            var div_peta = document.getElementById('kanvas');
            var tengah = new google.maps.LatLng(-8.801502,115.174794);
            var options = 
            {
                center : tengah,
                zoom : 14,
                mapTypeId : google.maps.MapTypeId.ROADMAP
            }

            //membuat objek peta Google Maps
            var google_map = new google.maps.Map(div_peta,options);

            google.maps.event.addListener(google_map, "click", function (e) 
            {
                var latitude = e.latLng.lat();
                var longitude = e.latLng.lng();
                var location = new google.maps.LatLng(latitude,longitude);

                document.getElementById('lattext').value = latitude;
                document.getElementById('lngtext').value = longitude;
            });
        }
        function add_marker(location)
        {
            var marker = new google.maps.Marker({
                position : location,
                title : "Titik A",
                draggable : false,
                map : google_map
            });

        }

    </script>

函数tampil_peta()
{
var div_peta=document.getElementById('kanvas');
var tengah=new google.maps.LatLng(-8.801502115.174794);
变量选项=
{
中心:天加,,
缩放:14,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
//membuat objek peta谷歌地图
var google_map=new google.maps.map(div_peta,options);
google.maps.event.addListener(谷歌地图,“点击”,函数(e)
{
var纬度=e.latLng.lat();
var经度=e.latLng.lng();
var location=new google.maps.LatLng(纬度、经度);
document.getElementById('lattext')。值=纬度;
document.getElementById('lngtext')。值=经度;
});
}
功能添加标记(位置)
{
var marker=new google.maps.marker({
位置:位置,,
标题:“Titik A”,
可拖动:错误,
地图:谷歌地图
});
}
这是包含2个文本框的表单代码,该文本框应自动填充标记的经纬度数据:

<form id="koordinat_a" nama="koordinat_a" method="POST" action="">
Latitude : <input type="text" class="form-control" id="lattext" name="lattext" placeholder=" Latitude" style="width:310px"> &nbsp;&nbsp;
Longitude : <input type="text" class="form-control" id="lngtext" name="lngtext" placeholder=" Longitude" style="width:310px"> &nbsp;&nbsp;                
 <button type="button" id ="pilih" name="pilih" class="btn btn-primary" onClick="return select_titik(document.getElementById('lattext').value,document.getElementById('lngtext').value)">Choose</button>
</form>

纬度:
经度:
选择
单击坐标的纬度和经度完美地显示在文本框中。我的问题是只要在地图单击时添加标记。。
有人能帮我吗?你的帮助会很有帮助的。谢谢…

尝试将lat/lng传递给标记函数,然后实例化另一个LatLng对象

function add_marker(lat, lng)
        {
                var location = new Google.maps.LatLng(lat, lng);
                var marker = new google.maps.Marker({
                    position : location,
                    title : "Titik A",
                    draggable : false,
                    map : google_map
                });

            }

您有一个名为
add_marker
的函数,可以随时使用。调用它并传入您创建的location对象

尝试:


谷歌地图;
函数tampil_peta()
{
var div_peta=document.getElementById('kanvas');
var tengah=new google.maps.LatLng(-8.801502115.174794);
变量选项=
{
中心:天加,,
缩放:14,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
//membuat objek peta谷歌地图
google\u map=new google.maps.map(div\u peta,options);
google.maps.event.addListener(谷歌地图,“点击”,函数(e)
{
var纬度=e.latLng.lat();
var经度=e.latLng.lng();
var location=new google.maps.LatLng(纬度、经度);
document.getElementById('lattext')。值=纬度;
document.getElementById('lngtext')。值=经度;
添加_标记(位置);
});
}
功能添加标记(位置)
{
var marker=new google.maps.marker({
位置:位置,,
标题:“Titik A”,
可拖动:错误,
地图:谷歌地图
});
}

可能是重复的我以前尝试过这个,但它不起作用,我不知道为什么…:'(
<script type="text/javascript">
    var google_map;
    function tampil_peta()
    {
        var div_peta = document.getElementById('kanvas');
        var tengah = new google.maps.LatLng(-8.801502,115.174794);
        var options = 
        {
            center : tengah,
            zoom : 14,
            mapTypeId : google.maps.MapTypeId.ROADMAP
        }

        //membuat objek peta Google Maps
        google_map = new google.maps.Map(div_peta,options);

        google.maps.event.addListener(google_map, "click", function (e) 
        {
            var latitude = e.latLng.lat();
            var longitude = e.latLng.lng();
            var location = new google.maps.LatLng(latitude,longitude);

            document.getElementById('lattext').value = latitude;
            document.getElementById('lngtext').value = longitude;
            add_marker(location);
        });
    }
    function add_marker(location)
    {
        var marker = new google.maps.Marker({
            position : location,
            title : "Titik A",
            draggable : false,
            map : google_map
        });

    }

</script>