gpt4 book ai didi

javascript - 如何从 autocomplete.getPlace() 获取 google place api 结果

转载 作者:数据小太阳 更新时间:2023-10-29 06:01:38 26 4
gpt4 key购买 nike

我想将来自 google the places api 的经度/纬度结果传递到我的 MVC 应用程序操作路由值。我不确定如何将它获取到我的路由值或如何将 javascript 返回到 html 值。现在

var result = autocomplete.getPlace();

返回一个未定义的值。因此,即使地点的自动完成工作正常,它甚至看起来都无法正常工作。

var input = document.getElementById('location');
var options = {
types: ['(cities)'],
componentRestrictions: { country: "us" }
};
var autocomplete = new google.maps.places.Autocomplete(input, options);
var t = 2;
var result = autocomplete.getPlace(); //result is undefined
var i = 1;
//var lat = result.geometry.location.lat;
//var lon = result.geometry.location.lon;

这是我的表单,其中包含找到位置的输入框和脚本标记。我正在尝试将经/纬度值设为路线值 5,6

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js? v=3.exp&amp;sensor=false&amp;libraries=places"></script>

@{
var routeValues = new RouteValueDictionary();
routeValues.Add("Longitude", "5");
routeValues.Add("Latitude", "6");
}

@using (Html.BeginForm("Results", "Home", routeValues, FormMethod.Post))
{
<p>
<input type="text" name="location" id="location" placeholder="Search For A Studio" />
</p>
<p>
<input class="btn btn-primary btn-lg" value='Submit' type="submit"/>
</p>
}

这是我在 Controller 中的 Action

public ActionResult Results(string longitude, string latitude)
{
var repo = new YogaSpaceRepository();

/// 1000 Ocean Ave
DbGeography myLocation = DbGeography.FromText("POINT(-122.453164 37.723057)");
IQueryable<YogaSpace> spaces = repo.AllWithinDistance(myLocation);


return View(spaces);
}

*更新 - 我可以获得 autocomplete.getPlace() 以返回数据。我必须将它放在提交按钮的 onclick 事件的 javascript 函数中。希望这是最好的方法!但我似乎无法从中获取位置(经度/纬度)数据。这是我所拥有的,但纬度/经度似乎没有我要找的东西,或者我可能不知道如何从这两个变量中提取坐标。

var input = document.getElementById('location');
var options = {
types: ['(cities)'],
componentRestrictions: { country: "us" }
};
var autocomplete = new google.maps.places.Autocomplete(input, options);

function getGeometry() {
var place = autocomplete.getPlace();

var lat = place.geometry.location.lat;
var lon = place.geometry.location.lon;
}

最佳答案

您可以通过 geometry.location 对象获取经纬度和经度

place.geometry.location.lat()
place.geometry.location.lng()

关于javascript - 如何从 autocomplete.getPlace() 获取 google place api 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28131661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com