使用Google地图标记坐标作为表单输入

时间:2017-07-06 19:32:19

标签: javascript laravel google-maps bootstrap-4

从下面的javascript函数中,当用户点击地图上的某个位置时,我会得到一个带有坐标的javascript变量 marker

var marker;
function placeMarker(location) {
  if ( marker ) {
    marker.setPosition(location);
  } else {
    marker = new google.maps.Marker({
      position: location,
      map: map
    });
  }
}
google.maps.event.addListener(map, 'click', function(event) {
  placeMarker(event.latLng);
});

问题 这些坐标如何用作表格输入?

<form method="POST" action="/authors" target="" enctype="multipart/form-data">
   ...
</form>

1 个答案:

答案 0 :(得分:2)

您需要做的就是使用location变量并将其分配给您的表单输入,如下所示:

首先,添加一个隐藏的输入字段

<form method="POST" action="/authors" target="" enctype="multipart/form-data">
   <input id="location" name="location" type="hidden" value="" />
</form>

其次,确保将位置变量添加到输入

var marker;
function placeMarker(location) {
  if ( marker ) {
    marker.setPosition(location);
  } else {
    marker = new google.maps.Marker({
      position: location,
      map: map
    });
  }

  $("#location").val(location);

}
google.maps.event.addListener(map, 'click', function(event) {
  placeMarker(event.latLng);
});

现在,每当placeMarker(location)被调用时,它将更新输入,其ID为&#34; location&#34;它的值是location的输出。