我正在使用Xamarin并添加了Google地图。 出于许可原因,我想用替代方法替换google maps api。
我找到了MapBox,它工作得很好。 我仍然遇到MapBox的一些问题。
折线
我需要更改线条的颜色,但PolyLine.Color是只读的
如何更改颜色?
折线
我需要切换可见性。这个功能似乎还没有实现。
它似乎最近被添加到#5663的mapbox / mapbox-gl-native下
任何想法,何时由Xamarin选择?
折线
之后我需要更改积分。再次点数只是只读
有没有办法访问积分?(例如使用句柄?!?)
标记
我需要切换可见性。也没有实施方法
解决方法的任何想法?
答案 0 :(得分:0)
过了一会儿,我想出了Android的这些功能:
void PolylineOptions_SetWidth(PolylineOptions obj, float width)
{
try
{
Java.Lang.Reflect.Method method = obj.Class.GetMethod("width", new Java.Lang.Class[] { Java.Lang.Float.Type });
method.Invoke(obj, new Java.Lang.Object[] { (Java.Lang.Float)(float)width });
}
catch (Java.Lang.SecurityException e)
{
// exception handling here
}
catch (Java.Lang.NoSuchMethodException e)
{
// exception handling here
}
}
void PolylineOptions_SetColor(PolylineOptions obj, int col)
{
try
{
Java.Lang.Reflect.Method method = obj.Class.GetMethod("color", new Java.Lang.Class[] { Java.Lang.Integer.Type });
method.Invoke(obj, new Java.Lang.Object[] { col });
}
catch (Java.Lang.SecurityException e)
{
// exception handling here
}
catch (Java.Lang.NoSuchMethodException e)
{
// exception handling here
}
}
void PolylineOptions_SetAlpha(PolylineOptions obj, float col)
{
try
{
Java.Lang.Reflect.Method method = obj.Class.GetMethod("alpha", new Java.Lang.Class[] { Java.Lang.Float.Type });
method.Invoke(obj, new Java.Lang.Object[] { col });
}
catch (Java.Lang.SecurityException e)
{
// exception handling here
}
catch (Java.Lang.NoSuchMethodException e)
{
// exception handling here
}
}
void Polyline_SetAlpha(Polyline obj, float col)
{
try
{
Java.Lang.Reflect.Method method = obj.Class.GetMethod("alpha", new Java.Lang.Class[] { Java.Lang.Float.Type });
method.Invoke(obj, new Java.Lang.Object[] { col });
}
catch (Java.Lang.SecurityException e)
{
// exception handling here
}
catch (Java.Lang.NoSuchMethodException e)
{
// exception handling here
}
}