当我创建2时,为什么我只在地图上获得1个引脚?

时间:2016-01-09 02:46:43

标签: c# forms xamarin

我有一个地理编码器,我尝试在我的地图上创建一个引脚,但是我的代码我只能在地图上获得1个引脚..我的代码:

Geocoder gc = new Geocoder ();

        var possibleAddresses = await gc.GetPositionsForAddressAsync ("Adress1");
        foreach (var address in possibleAddresses) {


            var pin = new Pin ();
            pin.Position = new Position (address.Latitude, address.Longitude);
            pin.Label = "test1";
            pin.Address = "test1";

            theMap.Pins.Add (pin);

        }

        var possibleAddresses2 = await gc.GetPositionsForAddressAsync ("Adress2");
        foreach (var address2 in possibleAddresses) {


            var pin = new Pin();
            pin.Position = new Position (address2.Latitude, address2.Longitude);
            pin.Label = "test2";
            pin.Address = "test2";

            pin.Clicked += onButtonClicked1;

            theMap.Pins.Add(pin);


        }

当我输入2个不同的地址时,它只显示我的第一个地址而不是第二个地址。

1 个答案:

答案 0 :(得分:2)

您正在迭代两个循环中第一个GeoCoder调用的结果,因此相同的引脚被添加两次

foreach (var address2 in possibleAddresses) {

应该是

foreach (var address2 in possibleAddresses2) {