在点击谷歌地图javascript api上放置标记

Sar*_*tra 1 google-maps google-maps-api-3 google-maps-markers

我在JS Apis中编写了一个谷歌地图.

我想要实现的是,无论用户点击何处,它都会将标记放在那里并输出其Lat和Lng.

我所取得的成就是无论我在哪里点击,它都会输出Lat和Lng而不会在那里拖动标记.

这里的小提琴 - http://jsfiddle.net/sarthakbatra1991/87v0obb4/#&togetherjs=3aTj11AiwO

google.maps.event.addListener(map, 'click', function (event) {


        document.getElementById("lat").value = event.latLng.lat();
        document.getElementById("long").value = event.latLng.lng();
        marker.setPosition(lat, lng);
        marker.setMap(map);

    });
Run Code Online (Sandbox Code Playgroud)

请看看它并帮助我.

干杯!

geo*_*zip 7

lat并且lng未在单击侦听器中定义.这应该工作:

google.maps.event.addListener(map, 'click', function (event) {
  document.getElementById("lat").value = event.latLng.lat();
  document.getElementById("long").value = event.latLng.lng();
  marker.setPosition(event.latLng);
});
Run Code Online (Sandbox Code Playgroud)

更新小提琴

代码段:

function initialize() {
  var myLatlng = new google.maps.LatLng(40.713956, -74.006653);

  var myOptions = {
    zoom: 8,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

  var marker = new google.maps.Marker({
    draggable: true,
    position: myLatlng,
    map: map,
    title: "Your location"
  });

  google.maps.event.addListener(marker, 'dragend', function(event) {
    document.getElementById("lat").value = event.latLng.lat();
    document.getElementById("long").value = event.latLng.lng();
  });

  google.maps.event.addListener(map, 'click', function(event) {
    document.getElementById("lat").value = event.latLng.lat();
    document.getElementById("long").value = event.latLng.lng();
    marker.setPosition(event.latLng);
  });
}
google.maps.event.addDomListener(window, "load", initialize());
Run Code Online (Sandbox Code Playgroud)
<style> html,
body,
#map_canvas {
  margin: 0;
  padding: 0;
  height: 100%
}
</style>
Run Code Online (Sandbox Code Playgroud)
<script src="https://maps.googleapis.com/maps/api/js"></script>
Lat:
<input id="lat" name="lat" val="40.713956" />Long:
<input id="long" name="long" val="74.006653" />
<br />
<br />
<div id="map_canvas" style="width: 500px; height: 250px;"></div>
Run Code Online (Sandbox Code Playgroud)