Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ASP.NET在谷歌地图上精确定位位置_Javascript_Asp.net_Google Maps_Geolocation_Bing Maps - Fatal编程技术网

Javascript 使用ASP.NET在谷歌地图上精确定位位置

Javascript 使用ASP.NET在谷歌地图上精确定位位置,javascript,asp.net,google-maps,geolocation,bing-maps,Javascript,Asp.net,Google Maps,Geolocation,Bing Maps,我试图在谷歌(或必应)地图上精确定位位置,但在这两个方面我都做不到。代码结构在这两个方面相似,我将介绍google maps的尝试: 目标:我有一个对象的链接列表,每个对象都包含纬度和经度,所有这些都必须精确定位 完整ASP:(中继器将显示搜索结果) 相关(大写): var-map=null; 函数初始化(){ 变量映射选项={ 中心:新google.maps.LatLng(40.42,-98.737), 缩放:4, mapTypeId:google.maps.mapTypeId.ROADMA

我试图在谷歌(或必应)地图上精确定位位置,但在这两个方面我都做不到。代码结构在这两个方面相似,我将介绍google maps的尝试:

目标:我有一个对象的链接列表,每个对象都包含纬度和经度,所有这些都必须精确定位

完整ASP:(中继器将显示搜索结果)

相关(大写):


var-map=null;
函数初始化(){
变量映射选项={
中心:新google.maps.LatLng(40.42,-98.737),
缩放:4,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById(“地图画布”),
地图选项);
//图钉(25,80);
}
功能推杆(横向、纵向){
警报(纬度+“”+lon);
var mylatng=new google.maps.LatLng(lat,lon);
var marker=new google.maps.marker({
职位:myLatlng,
地图:地图,
标题:“你好,世界!”
});
}
google.maps.event.addDomListener(窗口“加载”,初始化);
代码隐藏: 当用户单击搜索按钮时激活:

protected void Button1_Click(object sender, EventArgs e)
    {
        List<Results> rlist = getResults(query);
        String Locations = "";
        foreach (Results res in rlist)
        {
            Page.ClientScript.RegisterStartupScript(
                GetType(),
                "MyKey",
                "pushPin("+res.latitude+","+res.longitude+");",
                true);
        }
        this.rptREsults.DataSource = rlist;
        this.rptREsults.DataBind();
    }

public class Results
{
    public string filename { get; set; }
    public string asciiname { get; set; }
    public string latitude { get; set; }
    public string longitude { get; set; }
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
List rlist=getResults(查询);
字符串位置=”;
foreach(结果在rlist中)
{
Page.ClientScript.RegisterStartupScript(
GetType(),
“我的钥匙”,
图钉(“+res.latitude+”,“+res.latitude+”);“,
正确的);
}
this.rptfresults.DataSource=rlist;
this.rptreults.DataBind();
}
公开课成绩
{
公共字符串文件名{get;set;}
公共字符串asciiname{get;set;}
公共字符串纬度{get;set;}
公共字符串经度{get;set;}
}
结果是正确的,确实包含纬度和经度,当我在pushPin方法中放置警报时,只会出现一个警报框,但不会创建精确定位。有没有更好的方法来存储和精确定位纬度和经度列表


当我从另一个javascript方法调用它时,pushPin方法可以工作

我倾向于这样做,这是我在另一个网站上使用的一些代码的简化版本/示例,但应该给你足够的时间让事情正常运行:

var markers = new Array();
var markerLatLongs = new Array();
var sites = // JSON formatted version of your Results object(s)

function initialize() {
    var mapOptions = {
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById('map'),
        mapOptions);


    createMarkers();
}

function createMarkers() {
    for (var j = 0; j < sites.length; j++)
    {
        markerLatLongs[j] = new google.maps.LatLng(sites.latitude ,sites.longitude )
        markers[j] = new google.maps.Marker({
            position: markerLatLongs[j],
            map: map,
            title: sites[j].siteName
        });    
    }
}

谢谢你,布卡尼尔!但我认为问题是,当我调用它时,pushPin的map为null。如中所示,当我从代码调用pushPin时,初始化还没有发生。有什么办法可以解决这个问题吗?我在我的答案中添加了一个可能解决你问题的解决方案。我在我的答案中添加了一个可能解决你问题的解决方案。
var markers = new Array();
var markerLatLongs = new Array();
var sites = // JSON formatted version of your Results object(s)

function initialize() {
    var mapOptions = {
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById('map'),
        mapOptions);


    createMarkers();
}

function createMarkers() {
    for (var j = 0; j < sites.length; j++)
    {
        markerLatLongs[j] = new google.maps.LatLng(sites.latitude ,sites.longitude )
        markers[j] = new google.maps.Marker({
            position: markerLatLongs[j],
            map: map,
            title: sites[j].siteName
        });    
    }
}
protected void Button1_Click(object sender, EventArgs e)
    {
        List<Results> rlist = getResults(query);
        String Locations = "";
        StringBuilder pushPinCalls = new StringBuilder();
        foreach (Results res in rlist)
        {
          pushPinCalls.AppendFormat("pushPin({0},{1});",res.latitude,res.longitude);
        }
            Page.ClientScript.RegisterStartupScript(
                GetType(),
                "MyKey",
                string.Format("function pushPinManager() {{0}}",pushPinCalls.ToString());,
                true);
        this.rptREsults.DataSource = rlist;
        this.rptREsults.DataBind();
    }
function initialize() {
    var mapOptions = {
        center: new google.maps.LatLng(40.42, -98.737),
        zoom: 4,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map-canvas"),
    mapOptions);
    pushPinManager();
}